Build Information
Successful build of iOS-BLE-Library, reference main (4f3e49), with Swift 6.4 for macOS (SPM) on 27 Sep 2026 14:24:53 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/nordicsemi/IOS-BLE-Library.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nordicsemi/IOS-BLE-Library
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 4f3e498 Merge pull request #70 from nordicsemi/dequeue-patch
Cloned https://github.com/nordicsemi/IOS-BLE-Library.git
Revision (git rev-parse @):
4f3e4987f41e0558c6fdc1e8407eb92c59ae0eff
SUCCESS checkout https://github.com/nordicsemi/IOS-BLE-Library.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/nordicsemi/IOS-BLE-Library.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[39 / 92]
[42 / 95] MockGeneratorTool-product
[52 / 156]
[57 / 156]
[61 / 156]
[62 / 156]
[66 / 156]
[68 / 156]
[71 / 156]
[75 / 156]
[77 / 156]
[78 / 156]
[90 / 156] iOS-BLE-Library
[91 / 156] MockGeneratorTool-product
[105 / 156] iOS-BLE-Library-product
[112 / 156] CoreBluetoothMock-product
[115 / 156] CoreBluetoothMock
[121 / 156] MockGeneratorTool-product
[123 / 156] CoreBluetoothMock
[136 / 156] iOS-BLE-Library-Mock
[148 / 157] iOS-BLE-Library-Mock
[159 / 168] iOS-BLE-Library-Mock
[165 / 168] iOS-BLE-Library-Mock
Build complete! (10.34 sec)
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git
[1/2345] Fetching swift-docc-plugin
[236/10208] Fetching swift-docc-plugin, ios-corebluetooth-mock
Fetched https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git (1.98s)
Fetched https://github.com/apple/swift-docc-plugin (1.98s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (2.66s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.33s)
Computing version for https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git
warning: 'ios-corebluetooth-mock': /Package.swift:13:15: warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
11 | .macOS(.v10_14),
12 | .iOS(.v12),
13 | .watchOS(.v4),
| `- warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
14 | .tvOS(.v12)
15 | ],
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Computed https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git at 1.0.6 (1.94s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.70s)
Creating working copy for https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git resolved at 1.0.6
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
warning: 'ios-corebluetooth-mock': /Users/admin/builder/spi-builder-workspace/.build/checkouts/IOS-CoreBluetooth-Mock/Package.swift:13:15: warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
11 | .macOS(.v10_14),
12 | .iOS(.v12),
13 | .watchOS(.v4),
| `- warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
14 | .tvOS(.v12)
15 | ],
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
warning: /Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:206:11 check `connect` method
warning: /Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:238:11 Question: Should we throw an error if the scan is already running?
warning: /Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10 Thread safety should be considered
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m #warning([4;39m"Thread safety should be considered"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m42 |[0;0m extension Publishers.PrefixUntilOutputOrCompletion {
[0;36m43 |[0;0m private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:206:11: [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m204 |[0;0m
[0;36m205 |[0;0m extension CentralManager {
[0;36m206 |[0;0m #warning([4;39m"check `connect` method"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m207 |[0;0m /// Returns a list of the peripherals connected to the system whose
[0;36m208 |[0;0m /// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:238:11: [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m236 |[0;0m
[0;36m237 |[0;0m extension CentralManager {
[0;36m238 |[0;0m #warning([4;39m"Question: Should we throw an error if the scan is already running?"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m239 |[0;0m /// Initiates a scan for peripherals with the specified services.
[0;36m240 |[0;0m ///
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m #warning([4;39m"Thread safety should be considered"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m42 |[0;0m extension Publishers.PrefixUntilOutputOrCompletion {
[0;36m43 |[0;0m private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:206:11: [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m204 |[0;0m
[0;36m205 |[0;0m extension CentralManager {
[0;36m206 |[0;0m #warning([4;39m"check `connect` method"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m207 |[0;0m /// Returns a list of the peripherals connected to the system whose
[0;36m208 |[0;0m /// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/Sources/iOS-BLE-Library/CentralManager/CentralManager.swift:238:11: [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m236 |[0;0m
[0;36m237 |[0;0m extension CentralManager {
[0;36m238 |[0;0m #warning([4;39m"Question: Should we throw an error if the scan is already running?"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m239 |[0;0m /// Initiates a scan for peripherals with the specified services.
[0;36m240 |[0;0m ///
warning: /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10 Thread safety should be considered
warning: /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Peripheral/Peripheral.swift:63:22 queue can be not only main
warning: /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:206:11 check `connect` method
warning: /Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:238:11 Question: Should we throw an error if the scan is already running?
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Utilities/Extensions/CBManagerState+Ext.swift:25:9: [1;33mwarning: [1;39mdefault will never be executed[0;0m
[0;36m23 |[0;0m case .poweredOff, .unauthorized, .unsupported:
[0;36m24 |[0;0m return false
[0;36m25 |[0;0m default:
[0;36m|[0;0m `- [1;33mwarning: [1;39mdefault will never be executed[0;0m
[0;36m26 |[0;0m return false
[0;36m27 |[0;0m }
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m #warning([4;39m"Thread safety should be considered"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m42 |[0;0m extension Publishers.PrefixUntilOutputOrCompletion {
[0;36m43 |[0;0m private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Utilities/Publishers/Publishers+FailablePrefix.swift.swift:41:10: [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m39 |[0;0m }
[0;36m40 |[0;0m
[0;36m41 |[0;0m #warning([4;39m"Thread safety should be considered"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mThread safety should be considered[0;0m
[0;36m42 |[0;0m extension Publishers.PrefixUntilOutputOrCompletion {
[0;36m43 |[0;0m private final class Inner<Downstream: Subscriber>: Subscriber, Subscription
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:206:11: [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m204 |[0;0m
[0;36m205 |[0;0m extension CentralManager {
[0;36m206 |[0;0m #warning([4;39m"check `connect` method"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m207 |[0;0m /// Returns a list of the peripherals connected to the system whose
[0;36m208 |[0;0m /// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:238:11: [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m236 |[0;0m
[0;36m237 |[0;0m extension CentralManager {
[0;36m238 |[0;0m #warning([4;39m"Question: Should we throw an error if the scan is already running?"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m239 |[0;0m /// Initiates a scan for peripherals with the specified services.
[0;36m240 |[0;0m ///
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:206:11: [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m204 |[0;0m
[0;36m205 |[0;0m extension CentralManager {
[0;36m206 |[0;0m #warning([4;39m"check `connect` method"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcheck `connect` method[0;0m
[0;36m207 |[0;0m /// Returns a list of the peripherals connected to the system whose
[0;36m208 |[0;0m /// services match a given set of criteria.
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/CentralManager/CentralManager.swift:238:11: [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m236 |[0;0m
[0;36m237 |[0;0m extension CentralManager {
[0;36m238 |[0;0m #warning([4;39m"Question: Should we throw an error if the scan is already running?"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mQuestion: Should we throw an error if the scan is already running?[0;0m
[0;36m239 |[0;0m /// Initiates a scan for peripherals with the specified services.
[0;36m240 |[0;0m ///
/Users/admin/builder/spi-builder-workspace/.build/plugins/outputs/spi-builder-workspace/iOS-BLE-Library-Mock/destination/MockGenerator/Peripheral/Peripheral.swift:63:22: [1;33mwarning: [1;39mqueue can be not only main[0;0m
[0;36m61 |[0;0m override func setup() {
[0;36m62 |[0;0m observation = peripheral.observe(\.state, options: [.new]) { [weak self] _, change in
[0;36m63 |[0;0m #warning([4;39m"queue can be not only main"[0;0m)
[0;36m|[0;0m `- [1;33mwarning: [1;39mqueue can be not only main[0;0m
[0;36m64 |[0;0m DispatchQueue.main.async {
[0;36m65 |[0;0m guard let self else { return }
Build complete.
{
"dependencies" : [
{
"identity" : "ios-corebluetooth-mock",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.6",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nordicsemi/IOS-CoreBluetooth-Mock.git"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "iOS-BLE-Library",
"name" : "iOS-BLE-Library",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "iOS-BLE-Library",
"targets" : [
"iOS-BLE-Library"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "iOS-BLE-Library-Mock",
"targets" : [
"iOS-BLE-Library-Mock"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MockGeneratorTool",
"targets" : [
"MockGeneratorTool"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "iOS_BLE_LibraryTests",
"module_type" : "SwiftTarget",
"name" : "iOS-BLE-LibraryTests",
"path" : "Tests/iOS-BLE-LibraryTests",
"sources" : [
"CentralManagerStateTest.swift",
"CentralManagerTests.swift",
"PeripheralMultitaskingTests.swift",
"PeripheralReadWriteDescriptorTests.swift"
],
"target_dependencies" : [
"iOS-BLE-Library-Mock"
],
"type" : "test"
},
{
"c99name" : "iOS_BLE_Library_Mock",
"module_type" : "SwiftTarget",
"name" : "iOS-BLE-Library-Mock",
"path" : "Sources/iOS-BLE-Library-Mock",
"product_dependencies" : [
"CoreBluetoothMock"
],
"product_memberships" : [
"iOS-BLE-Library-Mock"
],
"sources" : [
"Alias.swift"
],
"target_dependencies" : [
"MockGenerator"
],
"type" : "library"
},
{
"c99name" : "iOS_BLE_Library",
"module_type" : "SwiftTarget",
"name" : "iOS-BLE-Library",
"path" : "Sources/iOS-BLE-Library",
"product_memberships" : [
"iOS-BLE-Library"
],
"sources" : [
"CentralManager/CentralManager.swift",
"CentralManager/Model/ScanResult.swift",
"CentralManager/ReactiveCentralManagerDelegate.swift",
"Peripheral/Peripheral+Writer.swift",
"Peripheral/Peripheral.swift",
"Peripheral/PeripheralError.swift",
"Peripheral/ReactivePeripheralDelegate.swift",
"Utilities/AdvertisementData.swift",
"Utilities/AsyncCharacteristicData.swift",
"Utilities/CBManagerState.swift",
"Utilities/Extensions/CBManagerState+Ext.swift",
"Utilities/Extensions/Data+Ext.swift.swift",
"Utilities/Extensions/Publishers+Async.swift",
"Utilities/Logger.swift",
"Utilities/Publishers/ContinuationSubscriber.swift",
"Utilities/Publishers/Publishers+Bluetooth.swift",
"Utilities/Publishers/Publishers+Connectable.swift",
"Utilities/Publishers/Publishers+FailablePrefix.swift.swift",
"Utilities/Publishers/Publishers+GuestList.swift",
"Utilities/Queue.swift",
"Utilities/RSSI.swift",
"Utilities/UnimplementedError.swift"
],
"type" : "library"
},
{
"c99name" : "MockGeneratorTool",
"module_type" : "SwiftTarget",
"name" : "MockGeneratorTool",
"path" : "Sources/MockGeneratorTool",
"product_memberships" : [
"iOS-BLE-Library-Mock",
"MockGeneratorTool"
],
"sources" : [
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "MockGenerator",
"module_type" : "PluginTarget",
"name" : "MockGenerator",
"path" : "Plugins/MockGenerator",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"iOS-BLE-Library-Mock"
],
"sources" : [
"MockGenerator.swift"
],
"target_dependencies" : [
"MockGeneratorTool"
],
"type" : "plugin"
}
],
"tools_version" : "5.6"
}
Done.