【发布时间】:2014-11-12 02:21:11
【问题描述】:
有很多相关的问题,但(显然)没有答案。所以...
我的 iOS 应用确实在应用处于后台时从我的 BLE 设备获取更新。如果我与 BLE 设备失去联系,那么在centralManager:didDisconnectPeripheral: 中我调用 -[CBCentralManager cancelPeripheralConnection:] - 否则我将永远不会重新连接到丢失的外围设备。然后我打电话给 [(re)call -[CBCentralManager scanForPeripheralsWithServices:options:]。
记录显示didDisconnectPeripheral 调用及其包含的调用都发生在后台。但是,仅当应用从后台唤醒时才会重新连接。
所以我可以在后台与连接的 BLE 设备通信(耶!)但不能重新连接。这对我的应用程序非常重要,并且(人们会认为)对其他应用程序来说。欢迎提出建议。
【问题讨论】:
标签: ios bluetooth-lowenergy background-process