2016-10-14 19 views
0

我是iOS開發新手,在我的應用程序中,我想獲得座標並在滿足特定條件後發送到服務器。當應用程序處於前景我可以得到座標,但問題是當應用程序在後臺或終止時,我將如何獲得座標。 我已經經歷了許多其他類似的帖子,但沒有找到任何好的解決方案。 蘋果文檔說,使用startMonitoringSignificantLocationChanges()作爲背景使用,但我希望在特定的距離覆蓋後或特定的時間後,我想獲得座標。在後臺獲取經緯度並向服務器發送數據iOS

allowDeferredLocationUpdatesUntilTraveled() 

可能是我的用途,但我不知道它的工作原理,當應用程序在後臺或遇難。

回答

0

如果您的iOS應用程序即使在後臺也必須保持監視位置,請使用標準位置服務並指定UIBackgroundModes鍵的位置值,以繼續在後臺運行並接收位置更新。 (在這種情況下,您還應確保地理位置經理的pausesLocationUpdatesAutomatically媒體資源設置爲true以幫助節省電量。)可能需要此類位置更新的應用的示例是健身或轉由轉動的導航應用。

所以請注意,如果您不符合Apples對背景使用的要求,您的應用可能會被拒絕。

關於:

我想,經過特定的覆蓋距離或特定時間 後,我想要得到的座標

你可以改變locationManager.distanceFilter到多久應該更新位置。

閱讀更多在蘋果開發商site

+0

此外,您還需要創建一個CLLocationManagerDelegate,並且可以使用回調函數didUpdateLocation來處理新的位置更新。此外,要開始這個,你首先需要實例化一個CLLocationManager並調用startUpdatingLocation – Simon

相關問題