在iOS 11中,didEnterRegion&当授权授权时,didExitRegion无法正常工作,否则其工作正常

时间:2018-01-04 11:19:09

标签: ios swift geolocation core-location geofencing

我从这里下载项目

https://www.raywenderlich.com/136165/core-location-geofencing-tutorial

并根据要求进行了少量修改

  1. xcode说缺少说明,所以我在info.plist中添加了这些

    隐私 - 位置始终和何时使用用法说明

    隐私 - 使用时的位置使用说明

  2. GeotificationsViewController我修改了这个

    func locationManager(_ manager:CLLocationManager,didChangeAuthorization status:CLAuthorizationStatus){         mapView.showsUserLocation = status == .authorizedAlways || status ==。authorizedWhenInUse      }

  3. 当我授予authorizedAlways时,每件事情都可以正常工作,但授予authorizedWhenInUse时,却无法提供didEnterRegiondidExitRegion

    应用程序在两种情况下都是打开,运行,活动,在屏幕上可见。

    xcode版本9.2, iOS 11.2

1 个答案:

答案 0 :(得分:2)

对于基于区域的监控操作,您必须从用户那里收集authorizedAlways权限。

如需更多参考,请查看此内容。

https://developer.apple.com/documentation/corelocation/cllocationmanager/1620562-requestwheninuseauthorization

  

应用不能使用自动重启应用的任何服务,例如   作为区域监测或重要的地点变更服务。