项目里使用了高德SDK,申请定位权限时,会有系统弹框提示授权。
在info.plist里增加Privacy - Location When In Use Usage Description(使用期间。注意这个一定要有,否则不会自动弹框,使用定位时也不会触发弹框) 和 Privacy - Location Always and When In Use Usage Description(始终)。
如果用Privacy - Location Always Usage Description在ios11系统下不会有始终选项,因为苹果现在增加了一项新的隐私保护功能 NSLocationAlwaysAndWhenInUseUsageDeion,
并且原有的 NSLocationAlwaysUsageDeion 被降级为 NSLocationWhenInUseUsageDeion。
想要达到之前 NSLocationAlwaysUsageDeion 的定位效果,需要在info.plist文件中添加 NSLocationAlwaysAndWhenInUseUsageDeion 和 NSLocationWhenInUseUsageDeion 两个就可以了。
如果此时弹框只有允许和不允许两个选项,但设置里可以看到始终选项,此时需要检查你的配置,是否有写 [locationManager requestAlwaysAuthorization];如果你写的是[locationManager requestWhenInUseAuthorization];那么只会有两个选择,默认是使用期间允许定位
网友评论