起因 用户群反馈app可能请求了不合适的定位权限:始终定位。 看到这个截图,根据经验判断可能是后台定位功能导致可能不得不请求始终定位权限。再加上之前提交审核时,苹果要求在plist文件中新增NSLoc
- 查现有代码和plist文件
- 查官方文档
- 改工程代码
- 提交审核,查看邮件提醒
- app退入后台,查看定位信息是否输出
查plist文件和权限请求代码
plist文件
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
NSLocationAlwaysAndWhenInUseUsageDescription
权限请求代码
if ([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[_locationManager requestAlwaysAuthorization];
}
查官方文档
plist文件配置
- NSLocationAlwaysUsageDescription
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysAndWhenInUseUsageDescription
- 如果app需要前台运行定位权限,需要配置NSLocationWhenInUseUsageDescription;
- 如果app需要后台运行定位权限,需要配置NSLocationAlwaysAndWhenInUseUsageDescription;如果适配iOS11之前版本,还需要配置NSLocationAlwaysUsageDescription
权限请求代码
改工程代码
if ([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[_locationManager requestWhenInUseAuthorization];
}
提交审核,查看邮件提醒
app退入后台,查看定位信息是否输出