即使在休眠或重启后,后台持续 运行 个 IOS 应用程序

Continuously run an IOS app in the background even after sleep or reboot

我需要 运行 持续在后台运行 iPhone 应用程序,以便它可以响应 CTCallCenter 和 CTTelephonyCenter 抛出的事件。我一直在使用 Private API 的但无法越狱 phone。通过使用位置和 VOIP 后台模式,我已经能够在后台 运行 超过 IOS 10 分钟限制。只要 iPhone 保持活动状态,一切正常,但是,当系统休眠时间过长或重新启动时,应用程序不再接收 CTCallCenter 和 CTTelephonyCenter 抛出的事件,并停止定期记录其后台任务。但是,它可以接收位置事件,此时它会 运行 短时间然后再次暂停。

如何确保应用始终保持在后台活动状态,即使在休眠或重启后也是如此?

我无需越狱 phone 或使用私有 API 就可以在睡眠后保留应用程序 运行ning。正如我所怀疑的那样 可能的,毕竟我已经看到其他应用程序这样做了。

保持应用程序唤醒的关键是无限循环播放空的背景音频。所需的权限是 VOIP 和音频。即使 phone 睡了几个小时,后台循环也会继续执行。

本文的第二部分描述了这种方法: http://hayageek.com/ios-long-running-background-task/

这是一个 link 示例 iPhone 应用程序: http://hayageek.s3.amazonaws.com/downloads/ios/LongRunningBackgroundTask.zip

编辑:为了降低电池使用率,可以仅在 applicationDidEnterBackground 中 运行 短暂播放音频,这将重置 UIApplication.sharedApplication().backgroundTimeRemaining

的值