【发布时间】:2012-08-22 13:17:31
【问题描述】:
我正在编写一个在后台模式下运行的应用程序,它可以跟踪用户(因此有时会在后台模式下更新位置),并通过使用区域监控通知他附近的点。我不使用从区域监控中重新启动应用程序的功能。
目前,在收到applicationWillTerminate: 消息后,我会停止位置更新并从区域监控中删除所有点。我注意到应用程序的奇怪行为。尝试在多任务菜单中杀死应用程序后,以下消息(按如下顺序)被传递到应用程序:
applicationWillTerminate:applicationDidEnterBackground:- (有时)还有一个
locationManager:didUpdateToLocation:fromLocation:
如果我没有为这个应用程序注册后台定位模式,它就会被杀死。
我希望应用程序在用户在多任务菜单中杀死它并且不从区域监控中获取消息后像其他应用程序一样终止(无论如何,此时没有跟踪任何点)。不过,我需要能够使用后台定位模式。目的是尽量减少电池的使用。我应该怎么做才能做到这一点?
另外,为什么应用程序在applicationWillTerminate: 之后收到applicationDidEnterBackground:?从多任务菜单关闭后它是否仍在运行?
【问题讨论】:
标签: iphone ios5 core-location cllocationmanager uiapplicationdelegate