我有一個應用程序,它使用CLLocationManager
跟蹤用戶的路線,沿着所採取的路徑繪製點。應用程序使用所需的背景模式>應用程序寄存器進行位置更新,並在後臺運行CLLocationManager停在後臺
據我所知,後臺發生的任何事情都需要從locationManager:didUpdateToLocation:fromLocation
調用,因爲這是每次更新位置時調用的方法。
我遇到的問題是,有時這停止調用。當用戶的位置在15分鐘左右的空間內變化不大時,似乎會發生這種情況。據我所知,電話locationManager:didUpdateToLocation:fromLocation
只是停止,大概是爲了節省電池。不幸的是,當你回來時它不會再恢復。
我認爲有沒有辦法來覆蓋這種行爲,所以我想使用通知中心通知用戶該應用程序不再記錄路線。問題是,應用程序如何知道這件事發生了?如果locationManager:didUpdateToLocation:fromLocation
未被調用,我無法激發我的通知。如果它被調用,通知不應該觸發。
我有這個確切的問題。當用戶在15分鐘內沒有移動,並且他在保持應用在後臺時再次開始移動時,不會調用locationManager:didUpdateLocations。如果用戶將應用程序放回到前臺,那麼調用locationManager:didUpdateLocations,但它不包含用戶開始移動和將應用程序放在前臺之間的所有之前的位置。 –