作为一个小实验,我正在尝试构建一个带有蓝牙交互的独立 WatchOS 6+ 应用程序。我从一个我多次使用的简单代码开始:
final class MyBluetoothInterface: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {
private var _centralManager: CBCentralManager!
override init() {
self._centralManager = CBCentralManager(delegate: nil, queue: nil)
super.init()
self._centralManager.delegate = self
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
scanServices(central)
}
func scanServices(_ central: CBCentralManager) {
print("Central is not powered on! It's in '\(central.state)' state.")
guard central.state == .poweredOn else { return }
central.scanForPeripherals(withServices: nil, options: nil)
}
}
但 CBCentralManager 始终“不受支持”。根据 Apple 的文档,“不支持”状态意味着该设备不支持 BLE。我正在使用 Apple Watch Series 1 + WatchOS 6.1。据我所知,Series 1 支持 BLE。