我有一個應用程序,它使用CLLocationManager
跟蹤用戶的路線,沿着所採取的路徑繪製點。應用程序使用所需的背景模式>應用程序寄存器進行位置更新,並在後臺運行CLLocationManager有時停止更新,而應用程序在後臺
據我所知,後臺發生的任何事情都需要從locationManager:didUpdateToLocation:fromLocation
調用,因爲這是每次更新位置時調用的方法。
我遇到的問題是,有時這停止調用。當用戶的位置在15分鐘左右的空間內變化不大時,似乎會發生這種情況。據我所知,調用locationManager:didUpdateToLocation:fromLocation只是停止,大概是爲了節省電池。不幸的是,當你回來時它不會再恢復。
我認爲有沒有辦法來覆蓋這種行爲,所以我想使用通知中心通知用戶該應用程序不再記錄路線。問題是,應用程序如何知道這件事發生了?如果locationManager:didUpdateToLocation:fromLocation未被調用,我無法激發我的通知。如果它被調用,通知不應該觸發。
是否有某種系統通知說位置更新會停止?
我發現很難調試這個,因爲當我外出時我無法將我的Mac帶到設備上的測試位置(在模擬器中只有很多東西可以做)。任何調試技巧也將非常感謝!
iOS系統版本,你測試該反對? – Lefteris
該應用程序支持iOS 5.1及以上版本。我的設備正在運行iOS 6,所以當我外出時,正在使用什麼。 – beev
有趣,但這可能是一個iOS錯誤。您應該對使用導航的應用程序進行測試,並查看是否出現相同的問題。你確定你沒有在任何地方停止位置更新嗎? – Lefteris