Build Information
Successful build of CoreBluetoothEmulator, reference main (579963), with Swift 6.1 for macOS (SPM) on 22 Nov 2025 06:53:11 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .statsBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/1amageek/CoreBluetoothEmulator.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/1amageek/CoreBluetoothEmulator
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 579963e Implement multi-process support and update documentation
Cloned https://github.com/1amageek/CoreBluetoothEmulator.git
Revision (git rev-parse @):
579963e0ceffdf8a452c7e4fdb033fece3324c92
SUCCESS checkout https://github.com/1amageek/CoreBluetoothEmulator.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/1amageek/CoreBluetoothEmulator.git
https://github.com/1amageek/CoreBluetoothEmulator.git
{
"dependencies" : [
],
"manifest_display_name" : "CoreBluetoothEmulator",
"name" : "CoreBluetoothEmulator",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "CoreBluetoothEmulator",
"targets" : [
"CoreBluetoothEmulator"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CoreBluetoothEmulatorTests",
"module_type" : "SwiftTarget",
"name" : "CoreBluetoothEmulatorTests",
"path" : "Tests/CoreBluetoothEmulatorTests",
"sources" : [
"CoreBluetoothEmulatorTests.swift",
"Integration/ANCSAuthorizationTests.swift",
"Integration/AdvertisementAutoGenerationTests.swift",
"Integration/BackpressureTests.swift",
"Integration/BidirectionalEventsTests.swift",
"Integration/ConnectionEventsTests.swift",
"Integration/FullWorkflowTests.swift",
"Integration/L2CAPChannelTests.swift",
"Integration/MTUManagementTests.swift",
"Integration/ScanOptionsTests.swift",
"Integration/StateRestorationTests.swift"
],
"target_dependencies" : [
"CoreBluetoothEmulator"
],
"type" : "test"
},
{
"c99name" : "CoreBluetoothEmulator",
"module_type" : "SwiftTarget",
"name" : "CoreBluetoothEmulator",
"path" : "Sources/CoreBluetoothEmulator",
"product_memberships" : [
"CoreBluetoothEmulator"
],
"sources" : [
"CoreBluetoothEmulator.swift",
"EmulatedDelegates.swift",
"EmulatorBus.swift",
"EmulatorConfiguration.swift",
"EmulatorInternalEvent.swift",
"EmulatorTransport.swift",
"Internal/EmulatedCBCentral.swift",
"Internal/EmulatedCBCentralManager.swift",
"Internal/EmulatedCBCharacteristic.swift",
"Internal/EmulatedCBDescriptor.swift",
"Internal/EmulatedCBL2CAPChannel.swift",
"Internal/EmulatedCBPeripheral.swift",
"Internal/EmulatedCBPeripheralManager.swift",
"Internal/EmulatedCBService.swift",
"Transport/InMemoryEmulatorTransport.swift",
"Transport/XPCEmulatorTransport.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/18] Compiling CoreBluetoothEmulator EmulatedCBCentral.swift
[4/18] Compiling CoreBluetoothEmulator EmulatedCBCentralManager.swift
[5/19] Compiling CoreBluetoothEmulator CoreBluetoothEmulator.swift
[6/19] Compiling CoreBluetoothEmulator EmulatedDelegates.swift
[7/19] Emitting module CoreBluetoothEmulator
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:39:49: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
37 | private var publishedL2CAPChannels: [UUID: [CBL2CAPPSM: Bool]] = [:] // peripheral -> PSM -> encryption required
38 | private var openL2CAPChannels: [UUID: EmulatedCBL2CAPChannel] = [:] // channel identifier -> channel
39 | private var ancsAuthorizationStatus: [UUID: CBPeripheralManagerAuthorizationStatus] = [:] // central -> status
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
40 |
41 | private struct ConnectionPair: Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1136:17: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1134 | public func updateANCSAuthorization(
1135 | for centralIdentifier: UUID,
1136 | status: CBPeripheralManagerAuthorizationStatus
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1137 | ) async {
1138 | guard configuration.fireANCSAuthorizationUpdates else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1150:70: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1148 | }
1149 |
1150 | public func getANCSAuthorization(for centralIdentifier: UUID) -> CBPeripheralManagerAuthorizationStatus {
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1151 | return ancsAuthorizationStatus[centralIdentifier] ?? .notDetermined
1152 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBPeripheralManager.swift:312:48: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
310 | // MARK: - Authorization
311 |
312 | public class func authorizationStatus() -> CBPeripheralManagerAuthorizationStatus {
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
313 | return .authorized
314 | }
[8/19] Compiling CoreBluetoothEmulator EmulatorInternalEvent.swift
[9/19] Compiling CoreBluetoothEmulator EmulatorTransport.swift
[10/19] Compiling CoreBluetoothEmulator EmulatedCBL2CAPChannel.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBL2CAPChannel.swift:41:16: warning: immutable value 'inputPipe' was never used; consider replacing with '_' or removing it
39 |
40 | // Create streams from pipes
41 | if let inputPipe = inputPipe, let outputPipe = outputPipe {
| `- warning: immutable value 'inputPipe' was never used; consider replacing with '_' or removing it
42 | // Use CFStream for proper stream creation
43 | var readStream: Unmanaged<CFReadStream>?
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBL2CAPChannel.swift:41:43: warning: immutable value 'outputPipe' was never used; consider replacing with '_' or removing it
39 |
40 | // Create streams from pipes
41 | if let inputPipe = inputPipe, let outputPipe = outputPipe {
| `- warning: immutable value 'outputPipe' was never used; consider replacing with '_' or removing it
42 | // Use CFStream for proper stream creation
43 | var readStream: Unmanaged<CFReadStream>?
[11/19] Compiling CoreBluetoothEmulator EmulatedCBPeripheral.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBL2CAPChannel.swift:41:16: warning: immutable value 'inputPipe' was never used; consider replacing with '_' or removing it
39 |
40 | // Create streams from pipes
41 | if let inputPipe = inputPipe, let outputPipe = outputPipe {
| `- warning: immutable value 'inputPipe' was never used; consider replacing with '_' or removing it
42 | // Use CFStream for proper stream creation
43 | var readStream: Unmanaged<CFReadStream>?
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBL2CAPChannel.swift:41:43: warning: immutable value 'outputPipe' was never used; consider replacing with '_' or removing it
39 |
40 | // Create streams from pipes
41 | if let inputPipe = inputPipe, let outputPipe = outputPipe {
| `- warning: immutable value 'outputPipe' was never used; consider replacing with '_' or removing it
42 | // Use CFStream for proper stream creation
43 | var readStream: Unmanaged<CFReadStream>?
[12/19] Compiling CoreBluetoothEmulator EmulatedCBService.swift
[13/19] Compiling CoreBluetoothEmulator EmulatedCBPeripheralManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBPeripheralManager.swift:312:48: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
310 | // MARK: - Authorization
311 |
312 | public class func authorizationStatus() -> CBPeripheralManagerAuthorizationStatus {
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
313 | return .authorized
314 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBPeripheralManager.swift:303:13: warning: initialization of immutable value 'centralProxy' was never used; consider replacing with assignment to '_' or removing it
301 | @available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *)
302 | internal func notifyL2CAPChannelOpened(_ channel: EmulatedCBL2CAPChannel) async {
303 | let centralProxy = EmulatedCBCentral(identifier: channel.peer.identifier)
| `- warning: initialization of immutable value 'centralProxy' was never used; consider replacing with assignment to '_' or removing it
304 |
305 | notifyDelegate { delegate in
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Internal/EmulatedCBPeripheralManager.swift:318:13: warning: initialization of immutable value 'status' was never used; consider replacing with assignment to '_' or removing it
316 | @available(iOS 13.1, *)
317 | internal func notifyANCSAuthorizationUpdate(for centralIdentifier: UUID) async {
318 | let status = await EmulatorBus.shared.getANCSAuthorization(for: centralIdentifier)
| `- warning: initialization of immutable value 'status' was never used; consider replacing with assignment to '_' or removing it
319 | let centralProxy = EmulatedCBCentral(identifier: centralIdentifier)
320 |
[14/19] Compiling CoreBluetoothEmulator InMemoryEmulatorTransport.swift
[15/19] Compiling CoreBluetoothEmulator EmulatedCBCharacteristic.swift
[16/19] Compiling CoreBluetoothEmulator EmulatedCBDescriptor.swift
[17/19] Compiling CoreBluetoothEmulator EmulatorBus.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:39:49: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
37 | private var publishedL2CAPChannels: [UUID: [CBL2CAPPSM: Bool]] = [:] // peripheral -> PSM -> encryption required
38 | private var openL2CAPChannels: [UUID: EmulatedCBL2CAPChannel] = [:] // channel identifier -> channel
39 | private var ancsAuthorizationStatus: [UUID: CBPeripheralManagerAuthorizationStatus] = [:] // central -> status
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
40 |
41 | private struct ConnectionPair: Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1136:17: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1134 | public func updateANCSAuthorization(
1135 | for centralIdentifier: UUID,
1136 | status: CBPeripheralManagerAuthorizationStatus
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1137 | ) async {
1138 | guard configuration.fireANCSAuthorizationUpdates else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1150:70: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1148 | }
1149 |
1150 | public func getANCSAuthorization(for centralIdentifier: UUID) -> CBPeripheralManagerAuthorizationStatus {
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1151 | return ancsAuthorizationStatus[centralIdentifier] ?? .notDetermined
1152 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:246:34: warning: no 'async' operations occur within 'await' expression
244 |
245 | // Create peripheral proxy with advertisement data
246 | let peripheral = await peripheralManager.createPeripheralProxy(for: central, advertisementData: advData)
| `- warning: no 'async' operations occur within 'await' expression
247 |
248 | // Generate RSSI
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:413:16: warning: no 'async' operations occur within 'await' expression
411 | }
412 |
413 | return await manager.getServices(matching: serviceUUIDs)
| `- warning: no 'async' operations occur within 'await' expression
414 | }
415 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:432:16: warning: no 'async' operations occur within 'await' expression
430 | }
431 |
432 | return await manager.getCharacteristics(matching: characteristicUUIDs, for: service)
| `- warning: no 'async' operations occur within 'await' expression
433 | }
434 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:450:16: warning: no 'async' operations occur within 'await' expression
448 | }
449 |
450 | return await manager.getDescriptors(for: characteristic)
| `- warning: no 'async' operations occur within 'await' expression
451 | }
452 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:728:17: warning: immutable value 'centralId' was never used; consider replacing with '_' or removing it
726 | // Send notification event in distributed mode
727 | if case .distributed = transportMode {
728 | for centralId in targetCentrals {
| `- warning: immutable value 'centralId' was never used; consider replacing with '_' or removing it
729 | let event = EmulatorInternalEvent.notificationSent(
730 | peripheralID: peripheralIdentifier,
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1044:16: warning: no 'async' operations occur within 'await' expression
1042 |
1043 | // Create peripheral proxy with stored advertisement data
1044 | return await peripheralManager.createPeripheralProxy(
| `- warning: no 'async' operations occur within 'await' expression
1045 | for: centralReg.manager!,
1046 | advertisementData: peripheralReg.advertisementData
[18/19] Compiling CoreBluetoothEmulator EmulatorConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:39:49: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
37 | private var publishedL2CAPChannels: [UUID: [CBL2CAPPSM: Bool]] = [:] // peripheral -> PSM -> encryption required
38 | private var openL2CAPChannels: [UUID: EmulatedCBL2CAPChannel] = [:] // channel identifier -> channel
39 | private var ancsAuthorizationStatus: [UUID: CBPeripheralManagerAuthorizationStatus] = [:] // central -> status
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
40 |
41 | private struct ConnectionPair: Hashable {
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1136:17: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1134 | public func updateANCSAuthorization(
1135 | for centralIdentifier: UUID,
1136 | status: CBPeripheralManagerAuthorizationStatus
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1137 | ) async {
1138 | guard configuration.fireANCSAuthorizationUpdates else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1150:70: warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1148 | }
1149 |
1150 | public func getANCSAuthorization(for centralIdentifier: UUID) -> CBPeripheralManagerAuthorizationStatus {
| `- warning: 'CBPeripheralManagerAuthorizationStatus' was deprecated in macOS 10.15: Use CBManagerAuthorization instead
1151 | return ancsAuthorizationStatus[centralIdentifier] ?? .notDetermined
1152 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:246:34: warning: no 'async' operations occur within 'await' expression
244 |
245 | // Create peripheral proxy with advertisement data
246 | let peripheral = await peripheralManager.createPeripheralProxy(for: central, advertisementData: advData)
| `- warning: no 'async' operations occur within 'await' expression
247 |
248 | // Generate RSSI
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:413:16: warning: no 'async' operations occur within 'await' expression
411 | }
412 |
413 | return await manager.getServices(matching: serviceUUIDs)
| `- warning: no 'async' operations occur within 'await' expression
414 | }
415 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:432:16: warning: no 'async' operations occur within 'await' expression
430 | }
431 |
432 | return await manager.getCharacteristics(matching: characteristicUUIDs, for: service)
| `- warning: no 'async' operations occur within 'await' expression
433 | }
434 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:450:16: warning: no 'async' operations occur within 'await' expression
448 | }
449 |
450 | return await manager.getDescriptors(for: characteristic)
| `- warning: no 'async' operations occur within 'await' expression
451 | }
452 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:728:17: warning: immutable value 'centralId' was never used; consider replacing with '_' or removing it
726 | // Send notification event in distributed mode
727 | if case .distributed = transportMode {
728 | for centralId in targetCentrals {
| `- warning: immutable value 'centralId' was never used; consider replacing with '_' or removing it
729 | let event = EmulatorInternalEvent.notificationSent(
730 | peripheralID: peripheralIdentifier,
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/EmulatorBus.swift:1044:16: warning: no 'async' operations occur within 'await' expression
1042 |
1043 | // Create peripheral proxy with stored advertisement data
1044 | return await peripheralManager.createPeripheralProxy(
| `- warning: no 'async' operations occur within 'await' expression
1045 | for: centralReg.manager!,
1046 | advertisementData: peripheralReg.advertisementData
[19/19] Compiling CoreBluetoothEmulator XPCEmulatorTransport.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Transport/XPCEmulatorTransport.swift:106:27: warning: instance will be immediately deallocated because property 'delegate' is 'weak'
104 | // Create XPC listener for incoming connections
105 | let listener = NSXPCListener(machServiceName: serviceName)
106 | listener.delegate = XPCListenerDelegate(transport: self)
| |- warning: instance will be immediately deallocated because property 'delegate' is 'weak'
| `- note: a strong reference is required to prevent the instance from being deallocated
107 | listener.resume()
108 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSXPCConnection.h:137:55: note: 'delegate' declared here
135 |
136 | // The delegate for the connection listener. If no delegate is set, all new connections will be rejected. See the protocol for more information on how to implement it.
137 | @property (nullable, weak) id <NSXPCListenerDelegate> delegate;
| `- note: 'delegate' declared here
138 |
139 | // Get an endpoint object which may be sent over an existing connection. This allows the receiver of the endpoint to create a new connection to this NSXPCListener. The NSXPCListenerEndpoint uniquely names this listener object across connections.
/Users/admin/builder/spi-builder-workspace/Sources/CoreBluetoothEmulator/Transport/XPCEmulatorTransport.swift:106:27: warning: weak reference will always be nil because the referenced object is deallocated here
104 | // Create XPC listener for incoming connections
105 | let listener = NSXPCListener(machServiceName: serviceName)
106 | listener.delegate = XPCListenerDelegate(transport: self)
| `- warning: weak reference will always be nil because the referenced object is deallocated here
107 | listener.resume()
108 | }
Build complete! (5.74s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CoreBluetoothEmulator",
"name" : "CoreBluetoothEmulator",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "CoreBluetoothEmulator",
"targets" : [
"CoreBluetoothEmulator"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CoreBluetoothEmulatorTests",
"module_type" : "SwiftTarget",
"name" : "CoreBluetoothEmulatorTests",
"path" : "Tests/CoreBluetoothEmulatorTests",
"sources" : [
"CoreBluetoothEmulatorTests.swift",
"Integration/ANCSAuthorizationTests.swift",
"Integration/AdvertisementAutoGenerationTests.swift",
"Integration/BackpressureTests.swift",
"Integration/BidirectionalEventsTests.swift",
"Integration/ConnectionEventsTests.swift",
"Integration/FullWorkflowTests.swift",
"Integration/L2CAPChannelTests.swift",
"Integration/MTUManagementTests.swift",
"Integration/ScanOptionsTests.swift",
"Integration/StateRestorationTests.swift"
],
"target_dependencies" : [
"CoreBluetoothEmulator"
],
"type" : "test"
},
{
"c99name" : "CoreBluetoothEmulator",
"module_type" : "SwiftTarget",
"name" : "CoreBluetoothEmulator",
"path" : "Sources/CoreBluetoothEmulator",
"product_memberships" : [
"CoreBluetoothEmulator"
],
"sources" : [
"CoreBluetoothEmulator.swift",
"EmulatedDelegates.swift",
"EmulatorBus.swift",
"EmulatorConfiguration.swift",
"EmulatorInternalEvent.swift",
"EmulatorTransport.swift",
"Internal/EmulatedCBCentral.swift",
"Internal/EmulatedCBCentralManager.swift",
"Internal/EmulatedCBCharacteristic.swift",
"Internal/EmulatedCBDescriptor.swift",
"Internal/EmulatedCBL2CAPChannel.swift",
"Internal/EmulatedCBPeripheral.swift",
"Internal/EmulatedCBPeripheralManager.swift",
"Internal/EmulatedCBService.swift",
"Transport/InMemoryEmulatorTransport.swift",
"Transport/XPCEmulatorTransport.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.