在iOS设备重新启动后继续位置更新
在iOS7中,重新启动后,是否会重新启动已请求连续位置更新(非意义更改/区域监视)的应用程序 当我重新启动手机时,应用程序会暂停,然后终止。当我重新启动手机时,应用程序会一直处于终止状态,直到我手动启动它 我曾尝试添加一个具有最小刷新间隔的后台抓取来重新启动应用程序,但也从未调用过 在文章中,它解释说,如果我启用了重大的位置更改,它将从终止状态启动我的应用程序,但没有提到任何有关连续位置更新的内容在iOS设备重新启动后继续位置更新,ios,iphone,objective-c,cllocationmanager,Ios,Iphone,Objective C,Cllocationmanager,在iOS7中,重新启动后,是否会重新启动已请求连续位置更新(非意义更改/区域监视)的应用程序 当我重新启动手机时,应用程序会暂停,然后终止。当我重新启动手机时,应用程序会一直处于终止状态,直到我手动启动它 我曾尝试添加一个具有最小刷新间隔的后台抓取来重新启动应用程序,但也从未调用过 在文章中,它解释说,如果我启用了重大的位置更改,它将从终止状态启动我的应用程序,但没有提到任何有关连续位置更新的内容 关于如何让我的应用程序在重新启动后继续接收更新,有什么建议吗?我认为这是不可能的,因为如果你的应用
关于如何让我的应用程序在重新启动后继续接收更新,有什么建议吗?我认为这是不可能的,因为如果你的应用程序在后台启动,这是没有用的,因为必须在你的应用程序在前台时发出位置更新初始请求的监视 如果此请求是在应用程序处于后台时发出的,则该请求不起作用。你必须让你的应用程序进入前台,这样你才能重新开始获取更新的过程
你可以临时添加重要的位置更改作为实验,这样你的应用程序就会被唤醒,然后看看一旦你的应用程序启动到后台状态,你是否可以获得位置更新,但我99%肯定你不会成功。我已经测试了好几个月,iOS在应用程序终止/挂起后重新启动应用程序进行新位置更新的唯一可能方法是使用
locationManager
方法startMonitoringSignificantLocationChanges
。如果您使用startUpdatingLocation
,iOS将不会为您重新启动应用程序,因此应用程序无法获得位置更新
如果您想了解在后台获取位置更新与在应用程序被终止/挂起时获取位置更新之间差异的详细信息,请参阅:-
A) 当应用程序处于后台时获取位置更新,请参阅:
B) 当应用程序挂起/终止时获取位置更新,请参阅:
我已经写了两篇很长的文章来解释这两种场景之间的不同。GitHub上还提供了上述两种场景的源代码