当蓝牙设备靠近时唤醒ios应用程序

Leg*_*las 11 cocoa-touch objective-c ios core-bluetooth

我在后台运行核心蓝牙来扫描设备.它工作正常,当我手动退出应用程序时,它几乎停止.Apple文档声明该应用程序有时会被外围设备唤醒,这可能会使其从暂停状态大约10秒左右,执行某些操作然后再返回暂停状态.

资料来源:https: //developer.apple.com/library/IOs/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html

为了实现这一点,外围设备是否需要已经"连接"才能唤醒应用程序?或者任何新的(未发现的)外围设备可以唤醒应用程序吗?

Tom*_*voy 6

您的应用只会被唤醒外围事件(连接/断开连接等).但是,如果用户选择强制终止您的应用(在iOS 7中向上滑动),您的应用将无法唤醒这些事件.iOS系统将删除您,直到用户再次手动打开您的应用程序.

要订阅这些外围唤醒事件,您需要在启动管理器时传入具有相应恢复选项的NSDictionary.您在上述问题中添加的链接中提供了确切的详细信息.

至于你的最后一个问题:不,扫描然后找到一些外设不会在后台唤醒你的应用程序.它仅适用于预先指定的外围设备.