我从这里下载项目
https://www.raywenderlich.com/136165/core-location-geofencing-tutorial
并根据要求进行了少量修改
xcode说缺少说明,所以我在info.plist中添加了这些
隐私 - 位置始终和何时使用用法说明
隐私 - 使用时的位置使用说明
在GeotificationsViewController
我修改了这个
func locationManager(_ manager:CLLocationManager,didChangeAuthorization status:CLAuthorizationStatus){ mapView.showsUserLocation = status == .authorizedAlways || status ==。authorizedWhenInUse }
当我授予authorizedAlways
时,每件事情都可以正常工作,但授予authorizedWhenInUse
时,却无法提供didEnterRegion
和didExitRegion
应用程序在两种情况下都是打开,运行,活动,在屏幕上可见。
xcode版本9.2, iOS 11.2
答案 0 :(得分:2)
对于基于区域的监控操作,您必须从用户那里收集authorizedAlways
权限。
如需更多参考,请查看此内容。
应用不能使用自动重启应用的任何服务,例如 作为区域监测或重要的地点变更服务。