2012-07-24 51 views
1

我在使用CLLocationManager的startMonitoringForRegion:desiredAccuracy:監視區域。我知道該地區被正確添加到位置管理員的受監視的地區。locationManager:didEnterRegion:只從某些位置移動時才被調用

我設置了這個,而我的模擬器位置設置得離它很遠(精確到2.3公里)。然後,我點擊主頁按鈕,將模擬器的位置更改爲我爲其設置地理圍欄的位置。 locationManager:didEnterRegion:不會被調用。如果我嘗試移動到這個位置,但是從另一個位置,這個位於4.3公里以外的位置,則結果相同。

似乎有一些門檻,我不能拿起,因爲locationManager:didEnterRegion:從7公里以上的其他位置移動時被調用。 但是我的CLRegion的半徑是100米。這可能是什麼問題?

+0

我在5.1 SDK的iOS模擬器中遇到過同樣的問題。時間與安裝iOS 6測試版3一致,但我不確定這是否是原因。 – 2012-08-06 16:24:16

回答

2

這真的只是一個瘋狂的猜測,但我想知道這是否是位置經理試圖用一個似乎在跳躍的位置來減輕誤報的結果。我想象,在應用程序被拒絕的情況下,在模擬器中更改位置可能會在位置管理器中顯示爲不符合所需準確性的位置更新,因此在考慮您是否實際進入了新區域時忽略了它。

你有沒有試過模擬城市自行車騎行或高速公路驅動器,看看它是否有所作爲?我只想盡快在設備上進行測試。

+0

事實上,如果你想做的是微調,看起來iOS監控器在iOS模擬器上不是很可靠。 – samvermette 2012-07-25 06:02:32

+0

即使位置變化很小,我仍然遇到此問題。你可以嘗試我的腳本來模擬增量移動,看看這是否爲你解決:https://github.com/yangmeyer/YMDevScripts – 2012-08-06 16:25:37