当飞行模式切换时,CoreBluetooth不会调用didDisconnectPeripheral

时间:2013-07-31 07:48:45

标签: ios core-bluetooth bluetooth-lowenergy

我有一个CoreBluetooth个应用。这会在前台启动连接并开始发送/接收数据,并在发送到后台时继续执行此操作,因为我已在bluetooth-central中将UIBackgroundModes添加到app-Info.plist

如果我切换flightmode设置我的应用程序断开连接,但它不会得到didDisconnectPeripheral回调。为什么是这样?

我的解决方法是清除CBPeriperalcentralManagerDidUpdateState对象的所有引用,以便能够在将应用再次带到前台时进行新扫描并进行连接。

1 个答案:

答案 0 :(得分:2)

与您的其他问题相同的答案 - > App don't discover services when reconnecting after power cycling bluetooth

当您的centralManager更新为cancelConnection:

时,您需要在所有外围设备上致电CBCentralManagerStatePoweredOff