2014-01-24 44 views

回答

4

如果設置

yourLocationManager.pausesLocationUpdatesAutomatically = YES; 

你也應該設定一個值

yourLocationManager.activityType 

「的位置管理器使用該屬性中的信息爲線索,以確定位置更新可自動暫停暫停更新使得系統有機會在用戶的位置不可能發生變化的情況下節省電力,例如,如果活動類型是CLActivityTypeAutomotiveNavigation並且最近沒有發生位置變化,則收音機可能是po直到再次檢測到移動爲止。「

UPDATE:改變蘋果文檔 「 暫停後發生時,再次重新啓動定位服務你的責任,當你確定他們所需的核心位置調用 locationManagerDidPauseLocationUpdates(_ :)的 方法您。您可以配置一個本地通知,其觸發器類型爲UNLocationNotificationTrigger,並設置爲在用戶退出當前區域時進行通知。本地通知的消息應提示用戶再次啓動您的應用程序,以便它可以恢復更新。「

+1

那麼這不完全是我的問題。我已經意識到這一點,但無論如何感謝。然而,這是:「和他們自動重新啓動時,activityType不再被檢測到」是我想知道的。你能告訴我更多嗎?你在哪裏找到這些信息? Thks – kokluch

+4

如果應用程序處於前臺,它肯定會發生。如果它處於後臺模式,它可能永遠不會恢復 - 正如此處所述:http://stackoverflow.com/questions/17484352/iphone-gps-in-background-never-resumes-after-pause – tanzolone

+0

好吧。感謝您的鏈接。似乎有一個關於它的文件的湖泊。 – kokluch