我在同时处理Geofence
和用户当前位置时遇到问题。
当应用程序开始工作时,didUpdateLocations
完美调用并且我拥有所需的用户位置。
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
但只要didEnterRegion
代表被召唤,
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {}
didUpdateLocations
不会再开火了。他们有关系吗?
我还检查了
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {}
didEnterRegion
被调用后状态没有改变。我还添加了
locationManager?.startUpdatingLocation()
在didEnterRegion
但仍然didUpdateLocations
没有被调用。
有谁知道问题出在哪里?如何跟踪区域中的位置?
PS:在调用 EnterRegion 时自动停止更新位置,在调用 ExitRegion 时自动开始更新位置
更新:我使用xCode9,iOS 10,swift 4。两者都是空的EnterRegion
,ExitRegion
我现在只是在其中打印一个日志,他们将来会向服务器发布一些数据。