The Swift Package Index logo.Swift Package Index

Build Information

Failed to build AsyncBLE, reference main (230b65), with Swift 6.4 for macOS (SPM) on 28 Sep 2026 02:10:11 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vilimets/AsyncBLE-Swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/vilimets/AsyncBLE-Swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 230b65e Update readme
Cloned https://github.com/vilimets/AsyncBLE-Swift.git
Revision (git rev-parse @):
230b65ef91650acf2441ec36221e20297c1c7df9
SUCCESS checkout https://github.com/vilimets/AsyncBLE-Swift.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/vilimets/AsyncBLE-Swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] AsyncBLE
[30 / 77]
[35 / 77]
[39 / 77]
[40 / 77]
[44 / 77]
[46 / 77]
[49 / 77]
[53 / 77]
[55 / 77]
[56 / 77]
[68 / 77] AsyncBLE
error: SwiftCompile normal arm64 failed with a nonzero exit code. Command line:     cd /Users/admin/builder

/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 34 |     ///   - peripheralID: Which peripheral.
 35 |     ///   - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
 36 |     func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
    |          |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 37 |         try await requirePoweredOn()
 38 |         let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 69 |
 70 |     /// Suspends until the link comes up, this caller gives up, or the connection ends.
 71 |     private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
    |                  |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
 72 |         let handle = ConnectAttemptHandle()
 73 |         try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
   |             `- note: add '@available' attribute to enclosing class
31 |     private var once: ResumeOnce?
32 |     private var core: ConnectionCore?
   :
44 |     ///     gets its deadline from the state machine instead, so the two never both fire.
45 |     ///   - scheduler: Where the deadline is armed.
46 |     func begin(
   |          `- note: add '@available' attribute to enclosing instance method
47 |         core: ConnectionCore,
48 |         continuation: CheckedContinuation<Void, Error>,
49 |         timeout: Duration?,
   |                  `- error: 'Duration' is only available in macOS 13.0 or newer
50 |         scheduler: Scheduler
51 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
130 |
131 |     /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 |     func requestConnect(timeout: Duration?) {
    |          |                       `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
133 |         library.assertIsolated()
134 |         handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
315 |     }
316 |
317 |     private func schedule(
    |                  `- note: add '@available' attribute to enclosing instance method
318 |         _ duration: Duration,
    |                     `- error: 'Duration' is only available in macOS 13.0 or newer
319 |         _ work: @escaping @Sendable (ConnectionCore) -> Void
320 |     ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
28 |     ///
29 |     /// - Parameter duration: How long the attempt may run.
30 |     case startConnectTimeout(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 |     /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
39 |     ///
40 |     /// - Parameter duration: How long to keep waiting.
41 |     case startGiveUpDeadline(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 |     /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
51 |     ///
52 |     /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 |     case startReArmTimer(Duration)
   |                          `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 |     /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
22 |     /// Someone asked for a link.
23 |     ///
24 |     /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 |     ///   no deadline — ``Central/connectWhenInRange(_:)``.
26 |     case connectRequested(timeout: Duration?)
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 |     /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:21:35: error: 'Duration' is only available in macOS 13.0 or newer
15 |
16 | /// Something that can run work later, and be told not to.
17 | protocol Scheduler: AnyObject, Sendable {
   |          `- note: add '@available' attribute to enclosing protocol
18 |     /// Schedules `work` to run on the library queue after `duration`.
19 |     ///
20 |     /// - Returns: A handle that cancels the work if it has not run yet.
21 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:38:35: error: 'Duration' is only available in macOS 13.0 or newer
29 |
30 | /// The real scheduler: `DispatchQueue.asyncAfter` on the library queue.
31 | final class QueueScheduler: Scheduler {
   |             `- note: add '@available' attribute to enclosing class
32 |     private let queue: DispatchQueue
33 |
   :
36 |     }
37 |
38 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork {
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
39 |         let item = DispatchWorkItem(block: work)
40 |         // Wall time, not uptime. A give-up deadline means what it says, and
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:61:11: error: 'Duration' is only available in macOS 13.0 or newer
59 | }
60 |
61 | extension Duration {
   | |         `- error: 'Duration' is only available in macOS 13.0 or newer
   | `- note: add '@available' attribute to enclosing extension
62 |     /// The duration in seconds, for the APIs that predate `Duration`.
63 |     var seconds: Double {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:41: error: 'seconds' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                                         `- error: 'seconds' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:186:56: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
184 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
185 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
186 |     public func connect(_ peripheralID: UUID, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                      `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
187 |         try await establish(peripheralID, timeout: timeout ?? configuration.connectTimeout)
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:201:58: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
199 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
200 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
201 |     public func connect(_ discovery: Discovery, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
202 |         try await connect(discovery.peripheralID, timeout: timeout)
203 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:23:36: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
21 |         /// ``Central/connectWhenInRange(_:)``, both deliberately rely on the OS keeping the
22 |         /// request pending instead.
23 |         public var connectTimeout: Duration
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
24 |
25 |         /// How long to keep waiting after a link drops.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:29: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                             `- error: 'Duration' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:33:20: error: 'Duration' is only available in macOS 13.0 or newer
21 |     /// Internal: the three factories below are the vocabulary for building a policy, and a
22 |     /// publicly readable enum nobody can construct is only a second way to say the same thing.
23 |     enum Persistence: Sendable, Equatable {
   |          `- note: add '@available' attribute to enclosing enum
24 |         /// Do not wait at all: a dropped link goes straight to `disconnected`.
25 |         case never
   :
31 |         ///
32 |         /// - Parameter duration: How long to wait, measured in wall-clock time from the drop.
33 |         case until(Duration)
   |                    `- error: 'Duration' is only available in macOS 13.0 or newer
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:46:31: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
44 |     /// one loose. Each re-arm increments the attempt number in
45 |     /// ``ConnectionState/reconnecting(arm:)``.
46 |     public let reArmInterval: Duration?
   |                               `- error: 'Duration' is only available in macOS 13.0 or newer
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:48:59: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
46 |     public let reArmInterval: Duration?
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
   |             |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
   |             `- note: add '@available' attribute to enclosing initializer
49 |         self.persistence = persistence
50 |         self.reArmInterval = reArmInterval
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:71:53: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
69 |     ///   `nil` unless working around a wedged connection.
70 |     /// - Returns: A policy that never gives up.
71 |     public static func waitIndefinitely(reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                            `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
72 |         ReconnectPolicy(persistence: .indefinitely, reArmInterval: reArmEvery)
73 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:44: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                   `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:66: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                                         `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/AsyncBLE.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Discovery.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Logging.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ScanOptions.swift -target arm64-apple-macos12.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftExplicitPrecompiledModules -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature StrictConcurrency -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.build/out/SDKStatCaches.noindex/macosx27.0-26A425-80c5bbf1d171475443272936d42f90a36a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name AsyncBLE -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-macos27.0 -target-sdk-version 27.0 -target-sdk-name macosx27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.abi.json
error: Build failed
BUILD FAILURE 6.4 macosSpm