我在后台运行核心蓝牙来扫描设备.它工作正常,当我手动退出应用程序几乎停止.苹果公司表示该应用程序可能被外设唤醒,这可能会使它从挂起状态大概10秒左右,做一些操作,然后回到暂停.
资源:
https://developer.apple.com/library/IOs/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html
为了这个工作,外设是否已经“连接”才能唤醒应用程序?还是可以任何新的(未被发现的)外设唤醒应用程序?
解决方法
您的应用程序只会被唤醒外围事件(连接/断开等).但是,如果用户选择强制杀死您的应用程序(在iOS 7中滑动),则您的应用程序将不会为这些事件唤醒. iOS系统将会删除您,直到用户再次手动打开您的应用程序.
为了订阅这些外设唤醒事件,您需要在启动管理器时使用适当的恢复选项传递NSDictionary.您在上述问题的链接中提供了具体的细节.
对于你最后一个问题:不,扫描,然后找到一些外设不会在后台唤醒你的应用程序.它仅适用于预先指定的外围设备.