2012-06-07 78 views
8

我目前正在使用重要的位置更改更新來監視用戶是否進入了感興趣的特定區域(我對感興趣區域的定義比可以簡單定義的區域更廣按地理區域)。我的要求是,應該定期喚醒我的應用程序,以檢查用戶是否已說明定義區域(如果它當前未運行)。CLLocationManager - 監視區域與重要位置更改

我的問題是:將註冊區域更新(因爲我有一些已知適合我感興趣的區域的區域),爲我提供更多的更新,而不僅僅是傾聽所有重大的內容更改,或者他們只是簡單地重複更新?我問這個問題的原因是爲了確定區域監控是否僅僅是對重要位置變化更新的過濾器(因爲沒有文件記載爲GPS驅動),或者如果區域監控以某種方式能夠更具體(可能會強化GPS,但更具體)。特別是,我想知道是否有人在這個問題上看過數據或文檔。

謝謝。

+0

請記住,你不能'喚醒'你的應用程序。該應用可以繼續在後臺運行,以監控位置更新,但是如果應用完全退出,則必須由用戶重新打開。 – Christian

+0

對不起,沒有'喚醒',可以說,但在後臺運行,如果有必要顯示通知。 – mike

+0

這不是事實,兩個選項都有能力從終止狀態喚醒以接收位置更新,即使用戶關閉了也是如此。 http://stackoverflow.com/questions/19850088/will-ios-region-monitoring-call-didenterregion-on-my-app-if-my-app-is-in-a-termi – SMKS

回答

5

區域監控似乎從比特定位置更改服務更具體的位置信號變化中拉出。我這樣說是因爲我已經定義了區域監控在後臺採集的小區域(〜100 m半徑),但是重要的位置變化不會。但請記住,這兩個事件是由不同類型的用戶操作觸發的。

區域監控 - 僅在邊界通道上觸發。因此,用戶必須在邊界兩側有兩個位置更新事件。如果你定義了大的區域,並且用戶在裏面走動,你會得到沒有的更新。

重大位置更改 - 似乎在手機切換單元塔和Location Awareness文檔中觸發,似乎表明這一點。以下是關於這些更新的一般準確度的一些great data,表明通知之間大約500米。

+0

很酷。感謝那。有趣的事實:從實驗來看,它看起來像手機睡着了,它會限制頻率的重要位置更新(大約每五到十分鐘一次),但是對於區域不這樣做,這似乎解釋了區域監視更新的原因不僅僅是重要位置變化的一個子集,而且都依賴於手機塔而不是爲GPS提供動力。另外,我注意到,如果我在睡覺時旅行,我會在醒來後立即獲得重要的位置更改更新。 – mike

+0

所以說我在一個地區之外,然後把地下地鐵帶入一個地區。區域監測不起作用B/C我沒有跨越邊界? – shi11i

+0

正確 - 直到在地區內觸發位置事件,它將不會檢測到穿越。不過請記住,該位置不僅僅是GPS,我的猜測是cell + wifi仍然可以檢測到您在地鐵內的區域內。地鐵移動速度很快,所以我建議較大的地區,以防止通過權。 –

相關問題