在iOS7中,重启后是否会重新启动请求连续位置更新(不是指示更改/区域监控)的应用?
当我重新启动手机时,应用程序暂停,然后终止。当我重新启动手机时,应用程序将保持终止状态,直到我手动启动它。
我尝试使用最少的刷新间隔添加后台提取来重新启动应用,但是从未调用过。
在apple doc中,它解释了如果我启用了重要的位置更改,它将从已终止状态启动我的应用,但没有提及有关连续位置更新的任何内容。
有关如何让我的应用在重新启动后继续接收更新的任何建议?
答案 0 :(得分:1)
我不认为这是可能的,因为如果您的应用无论如何在后台启动都没用,因为当您的应用处于前台时,会监控位置更新初始请求。
如果在应用程序处于后台时发出此请求,则该请求不起作用。你不得不让你的应用程序进入前台,这样你就可以开始重新获得更新的过程。
您可以暂时添加重要的位置更改作为实验,以便您的应用程序被唤醒,然后看看您的应用程序启动到后台状态后是否可以获取位置更新但我99%肯定您不会成功。
答案 1 :(得分:1)
我已经测试了好几个月,iOS在应用终止/暂停后重新启动应用以获取新位置更新的唯一方法是使用locationManager
方法startMonitoringSignificantLocationChanges
。如果您使用startUpdatingLocation
,iOS将不会为您重新启动应用,因此应用无法获取位置更新。
如果您想了解有关在后台获取位置更新与获取位置更新之间的差异的详细信息,即使应用程序被终止/终止/暂停,请参阅: -
A)在应用程序处于后台时获取位置更新,请参阅:Background Location Services not working in iOS 7
B)暂停/终止应用时获取位置更新,请参阅:How to Get Location Updates for iOS 7 and 8 Even when the App is Suspended
我写了两篇非常长的文章来解释这两种情况之间的差异。 GitHub上也提供了上述2场景的源代码。