我正在开发一个 BLE 项目,为此我启动了 CBCentralManager,并扫描了可用的设备。我能够扫描并连接可用的 BLE 外围设备。一切正常,直到我没有在 iOS 11.0.x 版本上进行测试。
当我在 iOS 11.1.1 或 11.1.2 上测试时,CBCentralManager 在启动应用程序时总是返回给我 powerOff 状态。但是当我打开控制中心,然后关闭并再次打开蓝牙或激活/停用飞行模式(自动关闭/打开蓝牙)。应用程序开始扫描 BLE 外围设备,一切看起来都很好,直到重新启动应用程序。有没有人在 iOS 11.1.x 上遇到过这样的问题并且能够解决这个问题,请帮助解决这个问题。
下面是我检查状态的代码
func initiateCentralManager(){
manager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey : "MyBLECurrentState"])
}
func centralManagerDidUpdateState(_ central: CBCentralManager){
print("Received CBCentralManager state")
peripheralArray.removeAll()
if central.state == .poweredOn {
print("poweredOn")
} else if central.state == .poweredOff {
print("poweredOff")
}
}