在后台IOS7中保持App活着

时间:2013-09-13 08:42:56

标签: ios7 cllocationmanager long-running-processes

我创建了应用程序,用于跟踪特定时间段内用户的GPS位置。此过程在后台运行3次。所以,App需要在后台保持活力。

为了达到我们的要求,我们使用在后台运行的位置管理器(GPS)。因此,它永远不会被操作系统杀死。此外,我们在App处于后台时运行了后台任务线程。

这种方法在iOS 6上运行良好,之前在后台运行超过10分钟。

但是iOS 7应用程序将在10分钟后被杀死。

请注意让计时器在后台保持活动状态。

我们希望得到最早的回应。提前谢谢。

如何在不影响电池续航时间的情况下让应用程序在IOS 7中保持活动状态。

2 个答案:

答案 0 :(得分:0)

如果应用程序在Info.plist文件中具有后台位置跟踪功能并且不会尝试滥用该权限的好处,则没有理由将其杀死。

我不确定跟踪功能的用例是什么,但是 - 假设如果某段时间内没有记录,则跟踪设备不会更改位置 - 设置距离过滤器会允许一直跟踪位置。

这也可以减轻设备电池的负担,因为在CLLocationManager处理的某些活动类型中,如果设备没有检测到任何重大移动,设备可能会将位置服务置于空闲状态。

答案 1 :(得分:0)

如果您想让应用程序在后台保持活动状态并且由于某种原因不希望转到appstore(例如,您正在使用企业开发人员程序为您的公司开发某些内容),则应检查deferredLocationUpdates(即使在设备上也是如此)不支持他们,你只是在你的委托中得到错误但应用程序会工作)并且在后台不要调用stopLocationUpdates。(如果你在appstore上使用这个appstore你必须解释为什么你需要这个苹果当然)