我有一个使用 CoreBluetooth 的应用程序。它在前台启动连接并开始发送/接收数据,并在转到后台时继续执行此操作,因为我已将 bluetooth-central 添加到 app-Info.plist 中的 UIBackgroundModes。如果我切换飞行模式设置,则我的应用程序会断开连接,但是它不会获取 didDisconnectPeripheral 回调。这是为什么呢?我采取的解决方法是在 centralManagerDidUpdateState 中清除对 CBPeriperal 对象的所有引用,以便当再次将应用程序带回前台时可以进行新的扫描和连接。