我使用状态保存和恢复。使用 kill(getpid(), SIGKILL);
模拟内存压力后,应用程序被杀死然后被唤醒,我收到来自 CBCentralManagerDelegate
的通知并且我可以与周边设备。
修复工作应该在:
- iOS 重启?
- 用户从多任务栏中关闭了应用程序?
根据这样的帖子:Long-Term Actions after app is killed , 第 2 点是不可能的。
- 如果恢复对 1 或 2 个点不起作用,在这些情况下我如何“重新连接”到我的外围设备?
最佳答案
恢复适用于应用程序被操作系统杀死的情况:
- 调用
kill(getpid(), SIGKILL)
- 操作系统在后台终止
在任何其他情况下,应用程序不会恢复。其背后的原因可能是用户想要终止该应用程序的意图,因此不应重新启动它。对于重启来说可能不是这样,但 Apple 到目前为止已经这样处理了。
到目前为止,没有报告显示 iOS 8 中有关重启后重启行为的更改。
任务栏终止后无法重新启动,但对于重新启动,有一个替代解决方案。您可以注册重要的位置更改,这将在重新启动后恢复应用程序。这对我来说非常可靠。
关于iOS 在什么条件下 Core Bluetooth 恢复有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26120277/