React Native应用上传App Store因缺失NSLocationAlwaysUsageDescription被拒求助
解决React Native应用因缺失位置权限描述被App Store拒绝的问题
嘿,太懂这种被审核打回的糟心感了!你遇到的是苹果隐私审核的典型问题——你的应用尝试获取始终位置权限,但没在Info.plist里明确告知用户这个权限的使用目的。下面是一步步的修复方案:
第一步:找到iOS端的Info.plist文件
打开你的React Native项目,定位到ios/[你的App名称]/Info.plist路径,用Xcode或者普通文本编辑器打开都可以。第二步:添加NSLocationAlwaysUsageDescription键值对
在文件中插入以下代码块,记得把描述文本换成贴合你应用实际场景的内容,不能太笼统敷衍:<key>NSLocationAlwaysUsageDescription</key> <string>为了给你提供实时的周边服务提醒,我们需要在后台持续获取你的位置信息</string>小提醒:如果你的应用面向iOS 11及以上版本,建议同时添加
NSLocationAlwaysAndWhenInUseUsageDescription,覆盖更全面的权限场景,避免后续再次被拒。第三步:排查是否有其他遗漏的隐私权限
顺便检查下你的应用有没有用到其他隐私相关功能(比如相机、相册、麦克风),如果有,对应的Info.plist键也必须补充使用说明,比如:NSCameraUsageDescription:相机权限的使用理由NSPhotoLibraryUsageDescription:访问相册的原因
第四步:重新打包提交审核
修改完成后,重新编译iOS项目生成新的构建包,再提交到App Store审核即可。
另外,如果你的应用其实根本不需要始终位置权限,那大概率是某个第三方依赖库偷偷触发了这个权限请求。你可以排查下项目里的npm包,找到权限调用的源头,要么替换掉该库,要么通过配置关闭不必要的权限请求,这样也能解决问题。
内容的提问来源于stack exchange,提问作者David Rojo
相关产品推荐
相关产品推荐

