2017-04-18 111 views
0

顯著-位置變化監測和位置更新監控之間切換我們使用顯著-位置變化監測瞭解我們用戶的行蹤時,應用程序沒有運行。這些數據基於蜂窩塔信號,因此不是很準確。我們希望在可能的時候使用更準確的數據,也就是說,當應用程序處於活動狀態或在後臺運行時。基於應用程序的狀態

的問題是,我應該使用「startMonitoringSignificantLocationChanges」和「startUpdatingLocation」在同一時間,或者,我應該這兩種方法之間切換?如果第二個選項更好,我應該使用哪些應用程序委託事件來執行必要的切換?

回答

3

除非你想支持的功能,需要連續的高精度位置流,其最好避免通過使用startUpdatingLocation高精度GPS數據的所有時間。

我從你的問題,你打算只在某些感興趣的點,用更準確的位置,當你的應用被喚醒理解。在這種情況下,僅在需要時纔開啓更準確的位置數據的第二種方法是更好的主意。

locationManager(_:didUpdateLocations:)CLLocationManager代表將是一個很好的點,你的情況來開始這個。請記住,重要的位置更改監視API至少每15分鐘喚醒系統一次,即使沒有位置更改,直至明確停止。所以人們必須小心使用它。

準確插入檢測位置跟蹤,同時確保你不要吃了所有的手機電池是解決一個不平凡的問題。您可能想要提供第三方SDK,如Hypertrack,這是專門針對此的嘗試。