【发布时间】:2014-02-22 04:18:05
【问题描述】:
我在后台运行核心蓝牙来扫描设备。它工作正常,当我手动退出应用程序时几乎停止。苹果文档指出,应用程序有时会被外围设备唤醒,这可能会使其从挂起状态大约 10 秒左右,做一些操作然后回到挂起状态。
为此,外围设备是否需要已经“连接”才能唤醒应用程序?或者任何新的(未发现的)外围设备可以唤醒应用程序吗?
【问题讨论】:
标签: ios objective-c cocoa-touch core-bluetooth
我在后台运行核心蓝牙来扫描设备。它工作正常,当我手动退出应用程序时几乎停止。苹果文档指出,应用程序有时会被外围设备唤醒,这可能会使其从挂起状态大约 10 秒左右,做一些操作然后回到挂起状态。
为此,外围设备是否需要已经“连接”才能唤醒应用程序?或者任何新的(未发现的)外围设备可以唤醒应用程序吗?
【问题讨论】:
标签: ios objective-c cocoa-touch core-bluetooth
您的应用只会因外围事件(连接/断开等)而被唤醒。但是,如果用户选择强制终止您的应用程序(在 iOS 7 中向上滑动),您的应用程序将不会因这些事件而唤醒。 iOS 系统会移除您,直到用户再次手动打开您的应用。
为了订阅这些外设唤醒事件,您需要在初始化管理器时传入带有适当恢复选项的 NSDictionary。您在上面的问题中提供的链接中提供了确切的详细信息。
至于你的最后一个问题:不,扫描然后找到一些外围设备不会在后台唤醒你的应用程序。仅适用于预先指定的外设。
【讨论】: