2013-05-02 80 views
0

我構建的這個應用程序即使在後臺運行時也能跟蹤用戶的位置。我用的是CLLocationManagers方法ios後臺位置服務箭頭在不移動時消失

startUpdatingLocation 

我設置CLLocationManager到

desiredAccuracy=kCLLocationAccuracyNearestTenMeters 
distanceFilter=250 

一切工作的前景和背景的罰款。但是,當我長時間(小時)不移動設備時,我可以看到位置箭頭消失。當我切換回我的應用程序時,我可以看到箭頭立即回來並且該應用程序沒有崩潰。這是我不知道的LocationManager的「特徵」嗎? LocationManager是否進入了某種「待機」狀態?這不應該是一個問題,應用程序不在前臺運行,因爲我可以與它旅行一個小時,它給了我一個完美的軌道。

回答

0

是的,這是一項功能。如documentation中給出的,位置管理器對象通過在不需要硬件時關閉硬件來主動管理功率。關閉GPS硬件可以顯着節省電力。

+0

如果位置僅由wifi/cell確定,我不希望位置箭頭消失。根據我的理解,箭頭不代表gps,而是位置服務(不管這是通過gps,cell還是wifi或任何組合)。除此之外,我希望一旦我移出distanceFilter半徑,箭頭就會再次出現。 – 2013-05-02 10:22:14

+0

我發現「CLLocationManager」類的屬性「pausesLocationUpdatesAutomatically」,它似乎解決了我設置爲NO時出現的問題。 – 2013-05-03 08:12:12

+0

是的。如果您的應用程序適用於iOS 6.0或更高版本,則可以使用該屬性。但該屬性的默認值設置爲YES以延長電池壽命。 U可以使用**'activityType'**屬性來確定何時暫停位置更新。 – 2013-05-03 09:12:46