我创建了应用程序,该应用程序跟踪用户在特定时间段的GPS位置。此过程在后台运行 3 次。因此,应用程序需要在后台保持活动状态。
为了达到我们的要求,我们使用在后台运行的位置管理器(GPS)。因此,它永远不会被OS杀死。此外,我们还在应用程序处于后台时运行后台任务线程。
此方法在iOS 6及之前运行良好,并在后台运行超过10分钟。
但是在iOS 7应用程序中,应用程序将在10分钟后被杀死。
需要建议以保持计时器在后台活动。
我们希望尽早作出答复。提前谢谢你。
如何在不影响电池寿命的情况下保持应用程序在IOS 7的后台运行。
如果应用程序在 Info.plist 文件中具有后台位置跟踪功能并且不尝试滥用该权限的好处,则没有理由杀死该应用程序。
我不确定您的跟踪功能用例是什么,但是 - 再加上假设如果某个时期没有记录,则跟踪的设备没有更改位置 - 设置距离过滤器将允许一直跟踪位置。
这也允许给设备的电池带来较小的负担,因为在CLLocationManager
处理的某些活动类型中,如果设备没有检测到任何重大移动,则设备可能会将定位服务置于空闲状态。
如果您想在后台保持应用程序处于活动状态并且出于某种原因不想访问应用商店(例如,您正在使用企业开发人员程序为您的公司开发某些东西),您应该检查 deferredLocationUpdates(即使在不支持它们的设备上,您只会在委托中出现错误,但应用程序可以工作)并且不要在后台调用 stopLocationUpdates。如果您在AppStore的应用程序上使用它,则必须解释为什么需要Apple)。