Build Information
Successful build of SwiftBluetooth, reference 1.0.0 (c5a9f4), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 14:15:56 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/exPHAT/SwiftBluetooth.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/exPHAT/SwiftBluetooth
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at c5a9f4e Merge pull request #3 from exPHAT/v1.0.0
Cloned https://github.com/exPHAT/SwiftBluetooth.git
Revision (git rev-parse @):
c5a9f4e5d6d1ffc312ffe26ea1760dc9a9a9673f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/exPHAT/SwiftBluetooth.git at 1.0.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/exPHAT/SwiftBluetooth.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 125]
[Planning deferred tasks]
[31 / 56]
[33 / 58] CoreBluetoothMock
[42 / 115]
[45 / 115]
[50 / 115]
[52 / 115]
[56 / 115]
[58 / 115]
[61 / 115]
[64 / 115]
[66 / 115]
[67 / 115]
[79 / 115] SwiftBluetooth
[80 / 115] SwiftBluetooth
[92 / 115] SwiftBluetooth-product
[103 / 115] SwiftBluetooth
[106 / 116] CoreBluetoothMock
[116 / 127] SwiftBluetoothMock
[123 / 127] SwiftBluetoothMock
[124 / 127] CoreBluetoothMock
Build complete! (10.50 sec)
Fetching https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
[1/7815] Fetching ios-corebluetooth-mock
Fetched https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git (2.65s)
Computing version for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Computed https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at 0.17.0 (3.35s)
Creating working copy for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git resolved at 0.17.0
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m2 |[0;0m import CoreBluetooth
[0;36m3 |[0;0m
[0;36m4 |[0;0m extension CBUUID: @unchecked Sendable { }
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m5 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m2 |[0;0m import CoreBluetooth
[0;36m3 |[0;0m
[0;36m4 |[0;0m extension CBUUID: @unchecked Sendable { }
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m5 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: [1;33mwarning: [1;39mcapture of 'subscription' with non-Sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m66 |[0;0m if let timeout = timeout {
[0;36m67 |[0;0m let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
[0;36m68 |[0;0m subscription.cancel()
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'subscription' with non-Sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m69 |[0;0m cont.finish()
[0;36m70 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: [1;39mnote: [1;39mconsider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m import Foundation
[0;36m2 |[0;0m
[0;36m3 |[0;0m internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol[0;0m
[0;36m4 |[0;0m public let id = UUID()
[0;36m5 |[0;0m weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m2 |[0;0m import CoreBluetooth
[0;36m3 |[0;0m
[0;36m4 |[0;0m extension CBUUID: @unchecked Sendable { }
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m5 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m2 |[0;0m import CoreBluetooth
[0;36m3 |[0;0m
[0;36m4 |[0;0m extension CBUUID: @unchecked Sendable { }
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m5 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: [1;33mwarning: [1;39mcapture of 'subscription' with non-Sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m66 |[0;0m if let timeout = timeout {
[0;36m67 |[0;0m let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
[0;36m68 |[0;0m subscription.cancel()
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'subscription' with non-Sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m69 |[0;0m cont.finish()
[0;36m70 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: [1;39mnote: [1;39mconsider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m import Foundation
[0;36m2 |[0;0m
[0;36m3 |[0;0m internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol[0;0m
[0;36m4 |[0;0m public let id = UUID()
[0;36m5 |[0;0m weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
Build complete.
{
"dependencies" : [
{
"identity" : "ios-corebluetooth-mock",
"requirement" : {
"range" : [
{
"lower_bound" : "0.17.0",
"upper_bound" : "0.18.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git"
}
],
"manifest_display_name" : "SwiftBluetooth",
"name" : "SwiftBluetooth",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "SwiftBluetooth",
"targets" : [
"SwiftBluetooth"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftBluetoothTests",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetoothTests",
"path" : "Tests/SwiftBluetoothTests",
"sources" : [
"CentralPeripheralTestCase.swift",
"DisconnectedPeripheralTests.swift",
"Extensions/XCTestCase+withTimeout.swift",
"LostConnectionPeripheralTests.swift",
"MockPeripheral.swift",
"SwiftBluetoothTests.swift"
],
"target_dependencies" : [
"SwiftBluetoothMock"
],
"type" : "test"
},
{
"c99name" : "SwiftBluetoothMock",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetoothMock",
"path" : "Sources/SwiftBluetoothMock",
"product_dependencies" : [
"CoreBluetoothMock"
],
"sources" : [
"CoreBluetoothMock.swift",
"SwiftBluetooth/Async/AsyncSubscription.swift",
"SwiftBluetooth/Async/AsyncSubscriptionQueue.swift",
"SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift",
"SwiftBluetooth/Async/CancellableTask.swift",
"SwiftBluetooth/CentralManager/CentralManager+async.swift",
"SwiftBluetooth/CentralManager/CentralManager+callback.swift",
"SwiftBluetooth/CentralManager/CentralManager.swift",
"SwiftBluetooth/CentralManager/CentralManagerDelegate.swift",
"SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift",
"SwiftBluetooth/CentralManager/CentralManagerError.swift",
"SwiftBluetooth/CentralManager/CentralManagerEvent.swift",
"SwiftBluetooth/Extensions/AsyncStream+first.swift",
"SwiftBluetooth/Extensions/CBUUID+Sendable.swift",
"SwiftBluetooth/Extensions/DispatchQueue+safeSync.swift",
"SwiftBluetooth/Peripheral/Characteristic.swift",
"SwiftBluetooth/Peripheral/NotifyingTracker.swift",
"SwiftBluetooth/Peripheral/Peripheral+DiscoveryInfo.swift",
"SwiftBluetooth/Peripheral/Peripheral+async.swift",
"SwiftBluetooth/Peripheral/Peripheral+callback.swift",
"SwiftBluetooth/Peripheral/Peripheral.swift",
"SwiftBluetooth/Peripheral/PeripheralDelegate.swift",
"SwiftBluetooth/Peripheral/PeripheralDelegateWrapper.swift",
"SwiftBluetooth/Peripheral/PeripheralError.swift",
"SwiftBluetooth/Peripheral/PeripheralEvent.swift"
],
"type" : "library"
},
{
"c99name" : "SwiftBluetooth",
"module_type" : "SwiftTarget",
"name" : "SwiftBluetooth",
"path" : "Sources/SwiftBluetooth",
"product_memberships" : [
"SwiftBluetooth"
],
"sources" : [
"Async/AsyncSubscription.swift",
"Async/AsyncSubscriptionQueue.swift",
"Async/AsyncSubscriptionQueueMap.swift",
"Async/CancellableTask.swift",
"CentralManager/CBCentralManagerFactory.swift",
"CentralManager/CentralManager+async.swift",
"CentralManager/CentralManager+callback.swift",
"CentralManager/CentralManager.swift",
"CentralManager/CentralManagerDelegate.swift",
"CentralManager/CentralManagerDelegateWrapper.swift",
"CentralManager/CentralManagerError.swift",
"CentralManager/CentralManagerEvent.swift",
"Extensions/AsyncStream+first.swift",
"Extensions/CBUUID+Sendable.swift",
"Extensions/DispatchQueue+safeSync.swift",
"Peripheral/Characteristic.swift",
"Peripheral/NotifyingTracker.swift",
"Peripheral/Peripheral+DiscoveryInfo.swift",
"Peripheral/Peripheral+async.swift",
"Peripheral/Peripheral+callback.swift",
"Peripheral/Peripheral.swift",
"Peripheral/PeripheralDelegate.swift",
"Peripheral/PeripheralDelegateWrapper.swift",
"Peripheral/PeripheralError.swift",
"Peripheral/PeripheralEvent.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.