在iOS7中,請求連續位置更新(而不是指示更改/區域監控)的應用程序在重新啓動後重新啓動?iOS設備重新啓動後繼續位置更新
當我重新啓動我的手機,應用程序被暫停,終止。當我重新啓動手機時,應用會保持終止狀態,直到我手動啓動手機。
我試着用最小的刷新間隔添加一個後臺提取來重新啓動應用程序,但這從來沒有被調用過。
在中解釋說,如果我啓用了重要的位置更改,它將從終止狀態啓動我的應用程序,但沒有提及任何有關連續位置更新的內容。
如何讓我的應用程序將繼續重新推出後收到的更新任何建議?
在iOS7中,請求連續位置更新(而不是指示更改/區域監控)的應用程序在重新啓動後重新啓動?iOS設備重新啓動後繼續位置更新
當我重新啓動我的手機,應用程序被暫停,終止。當我重新啓動手機時,應用會保持終止狀態,直到我手動啓動手機。
我試着用最小的刷新間隔添加一個後臺提取來重新啓動應用程序,但這從來沒有被調用過。
在中解釋說,如果我啓用了重要的位置更改,它將從終止狀態啓動我的應用程序,但沒有提及任何有關連續位置更新的內容。
如何讓我的應用程序將繼續重新推出後收到的更新任何建議?
我不認爲這將是可能的,因爲如果您的應用程序在後臺啓動,則無法使用,因爲位置更新的初始請求監控必須在應用程序處於前臺時進行。
如果這個請求是在應用程序在後臺進行的,那麼它不起作用。您不知何故必須將您的應用程序放到前臺,以便您可以重新開始獲取更新的過程。
您可以暫時添加重要的位置更改作爲實驗,以便您的應用程序被喚醒,然後查看您的應用程序啓動到後臺狀態後是否可以獲取位置更新,但我99%確定您贏得了「不會成功。
我已經測試了很多個月,iOS應用程序終止/掛起後重新啓動應用程序進行新位置更新的唯一可能方式是使用locationManager
方法startMonitoringSignificantLocationChanges
。如果您使用startUpdatingLocation
,則iOS不會爲您重新啓動應用程序,因此應用程序無法獲取位置更新。
如果您想了解有關在後臺VS獲得位置更新越來越位置更新之間的差異的細節,即使應用被殺死/停止/暫停,請參閱: -
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
我已經寫2很長的文章說明2方案之間的不同。上述2場景的源代碼也可以在GitHub上找到。