iOS审核报错:需NSLocationAlwaysUsageDescription,疑苹果改定位密钥
关于苹果审核定位权限问题的解答
嗨,这种前后审核标准不一致的情况确实挺闹心的,我来帮你捋捋可能的原因和解决办法~
首先,苹果的定位权限规则虽然在iOS 11之后就推荐使用NSLocationAlwaysAndWhenInUseUsageDescription替代旧的NSLocationAlwaysUsageDescription,但出现这种问题大概率是这两个原因:
- 你的应用可能开启了后台定位模式,或者代码中调用了需要永久定位的API(比如
startMonitoringSignificantLocationChanges),部分审核机器人会依然检查旧的NSLocationAlwaysUsageDescription密钥,哪怕你已经配置了新的合规密钥。 - 不排除苹果审核系统出现临时波动或缓存问题,毕竟前一天用相同配置刚通过审核,但这种情况还是以满足当前审核要求为准更稳妥。
给你两个具体的解决方向:
- 补充添加旧密钥:直接在Info.plist里加上
NSLocationAlwaysUsageDescription,给它设置一个和NSLocationAlwaysAndWhenInUseUsageDescription类似的合规描述(比如“需要获取您的位置信息以在后台为您提供XX服务”),双保险避免审核触发旧规则检查。 - 检查定位权限必要性:如果你的应用其实不需要后台定位功能,去确认一下项目的后台模式里有没有误开定位相关选项,要是不需要就关掉,这样可能就不会触发对永久定位密钥的检查了。
苹果的审核规则偶尔会有细微调整或者系统临时bug,补充这个旧密钥应该就能顺利通过审核啦~
内容的提问来源于stack exchange,提问作者Alok
相关产品推荐
相关产品推荐

