我正在使用CLLocationManager的startMonitoringForRegion:desiredAccuracy:
监控某个区域。我确信该区域已正确添加到位置管理器的monitoredRegions。
我设置了这个,而我的模拟器位置远离它(精确到2.3公里)。然后我点击主页按钮,将模拟器的位置更改为我设置地理围栏的位置。 locationManager:didEnterRegion:
没有被调用。如果我尝试移动到这个位置但是从另一个位置移动到4.3公里以外的相同结果。
似乎有一些我无法接受的阈值,因为locationManager:didEnterRegion:从7 km及以上的其他位置移动时会被调用。 但我的CLRegion的半径是100米。这可能是什么问题?
答案 0 :(得分:2)
这真是一个疯狂的猜测,但我想知道这是否是位置管理者试图通过一个看似跳跃的位置来缓解误报的结果。我想在应用程序重新签名时更改模拟器中的位置可能会使位置管理器显示为不符合所需精度的位置更新,因此在考虑您是否确实已进入新区域时忽略它。 / p>
您是否尝试过模拟城市自行车骑行或高速公路驾驶,看看它是否有所作为?我会尽快尝试在设备上进行测试。