我有一个iPhone应用程序,可从特定设备接收BLE信息。该设备可以随时向我的应用程序发送数据,并且其传输速率约为每秒2K字节。
问题是我的应用程序可以在iOS的后台模式下被杀死,而我对此一无所知。如果设备在我的应用程序被杀死后开始发送ble数据,则我的应用程序只能在系统唤醒它并在唤醒过程中丢失所有数据之后才能获取最后一个数据包。
应用唤醒并由系统还原后,如何获取所有BLE数据?
PS:我在Info.plist的UIBackgroundModes下添加了Bluetooth-central。在后台模式下,didUpdateValueForCharacteristic:方法被调用。另外,在构造CBCentralManager时,还指定了CBCentralManagerOptionRestoreIdentifierKey。
答案 0 :(得分:0)
在iOS上,您可以使用状态保留和恢复功能来确保您的应用不会被系统完全杀死。请查看以下链接以获取更多信息:-
Core Bluetooth Background Processing for iOS
但是,请注意,如果您强制杀死该应用程序,则不能使用它。在以下问题中有关于此的更多信息:-
BLE device keep connect with iPhone when application terminate
我希望这会有所帮助。