我有一个CoreBluetooth
个应用。这会在前台启动连接并开始发送/接收数据,并在发送到后台时继续执行此操作,因为我已在bluetooth-central
中将UIBackgroundModes
添加到app-Info.plist
。
如果我切换flightmode设置我的应用程序断开连接,但它不会得到didDisconnectPeripheral
回调。为什么是这样?
我的解决方法是清除CBPeriperal
内centralManagerDidUpdateState
对象的所有引用,以便能够在将应用再次带到前台时进行新扫描并进行连接。
答案 0 :(得分:2)
与您的其他问题相同的答案 - > App don't discover services when reconnecting after power cycling bluetooth
当您的centralManager更新为cancelConnection:
CBCentralManagerStatePoweredOff