我已经成功地注册了一个区域或监控,我知道这是因为didStartMonitoringForRegion
方法被触发了。
我有一个简单的测试应用程序,MKMapView
其中我可以看到我当前的位置,我还在地图上将我的区域绘制为红色圆圈,这样我实际上可以“物理地”看到我在什么时候进入或离开这个区域。在didEnterRegion
anddidExitRegion
方法中,我有一个UIAlertView
触发。
不久前,我决定离开办公室,带着我的 iPhone 4 去散步,看看这是否可行。我从该区域的中间开始(半径约 200m),我的应用程序一直处于前台。我走了几个街区,离开了该地区,什么也没发生。
我在 SO(我认为)上读到,有时它仅在您离开该区域一定距离时才有效,所以我继续走。
又走了 200m 左右,因为仍然没有出现,我放弃了UIAlertView
,开始往回走。显然,在重新进入该区域时,didEnterRegion
也没有开火。
我没有[locationManager startUpdatingLocation]
在我的代码中调用任何地方,我应该是吗?我只是在真正创建区域并调用[locationManager startMonitoringForRegion]
.
这CLLocationManagerDelegate
是我的应用程序委托,看起来很好,因为我didStartMonitoringForRegion
的触发正常。
我还缺少什么吗?