我有一个CoreBluetooth
应用程序。这将在前台开始连接并开始发送/接收数据,并在发送到后台时继续执行此操作,因为我在app-Info.plist
中添加了bluetooth-central
到UIBackgroundModes
。当飞行模式切换时,CoreBluetooth不会调用didDisconnectPeripheral
如果我切换飞行模式设置我的应用程序断开,但它不会得到didDisconnectPeripheral
回调。为什么是这样?
我的解决方法是清除对centralManagerDidUpdateState
中的我的CBPeriperal
对象的所有引用,以便能够在应用程序再次进入前台时执行新的扫描和连接。
如果你关掉只有蓝牙设置(而不是通过飞行模式) ,你的didDisconnectPeripheral被调用了吗? – Larme
@Larme,同样的事情发生。 – chwi