【发布时间】:2018-05-14 01:42:57
【问题描述】:
我正在开发一个 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")
}
}
【问题讨论】:
-
iOS 11.1.2 中出现了很多与蓝牙相关的问题
-
是的,我在开发者论坛上也看到了这个帖子和更多内容,但其中大部分都与 11.1 beta 版本有关。所以我在这里和开发者论坛上也发布了我的问题。
-
与 11.2.6 相同的问题,但并不总是发生。
标签: swift bluetooth core-bluetooth ios11.1.1