我正在为自定义蓝牙设备制作应用。该应用程序与设备正确连接/通信,但有时会出现一些奇怪的连接/重新连接问题。
这个问题的一个可重现的情况是电池何时死亡:
这是第8步中的经理的启动方式:
fileprivate override init() {
super.init()
self.manager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey : Constants.cbCentralManagerOptionRestoreIdentifierKey])
}
问题:有谁知道这可能是什么原因?或者修复是什么?
可能的线索:
我需要选择忘记设备两次以忘记Apple的BT设置中的设备(在第一次忘记之后,设备仍然与显示的信息按钮连接)
我启用了背景蓝牙
我在调试器中收到以下消息:
[CoreBluetooth] XPC连接无效
答案 0 :(得分:0)
如果您的BLE设备断开连接,则需要调用此功能
[centralObj connectPeripheral:peripheral options:nil];
在委托方法中的 didDisconnectPeripheral 中。 您不需要每次都致电 scanForPeripheralsWithServices 。