我正在后台运行核心蓝牙来扫描设备。它工作正常,当我手动退出应用程序时几乎停止。苹果文档指出,应用程序有时可以被外设唤醒,这可能会使它从挂起状态持续大约 10 秒左右,执行一些操作,然后返回挂起状态。
Source:
https://developer.apple.com/library/IOs/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html
为此,外围设备是否需要已经“连接”才能唤醒应用程序?或者任何新的(未被发现的)外围设备可以唤醒应用程序吗?
您的应用程序只会因外围事件(连接/断开等)而被唤醒。但是,如果用户选择强制终止您的应用程序(在 iOS 7 中向上滑动),您的应用程序将不会因这些事件而唤醒。 iOS 系统会将您删除,直到用户再次手动打开您的应用程序。
为了订阅这些外设唤醒事件,您需要在初始化管理器时传入一个带有适当恢复选项的 NSDictionary。您在上面问题中输入的链接中提供了确切的详细信息。
至于你的最后一个问题:不,扫描然后找到一些外围设备不会在后台唤醒你的应用程序。它仅适用于预先指定的外围设备。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)