如何在Expo中修改info.plist 解决iOS App Connect权限审核被拒问题
你当前的app.json配置语法本身没有错误,出现重复驳回的情况通常是以下几个疏漏导致的:
- 缺失完整相册权限声明
你只配置了仅写入相册的权限NSPhotoLibraryAddUsageDescription,如果你的App包含读取相册的逻辑(比如调用图片选择器从相册选图上传,或是依赖的第三方库隐含了读相册权限),还需要补充读相册的权限描述:
"ios": { "infoPlist": { "NSPhotoLibraryUsageDescription": "允许访问相册以上传您图库中的照片", "NSPhotoLibraryAddUsageDescription": "允许访问相册以保存照片到您的图库" }, "supportsTablet": true, "buildNumber": "1.1.1" }
- 未更新buildNumber
每次提交到App Connect的新构建包,必须使用比之前所有提交过的版本更高的buildNumber,如果buildNumber没有更新,App Connect会默认沿用之前上传的同版本旧构建包,导致修改没有生效。你当前配置的buildNumber为1.1.0,修改配置后需要将buildNumber上调,比如改为1.1.1后再构建。 - 原生目录优先级高于app.json配置
如果你的项目之前执行过expo prebuild生成了原生ios目录,Expo构建时会优先使用原生目录下的Info.plist配置,不会覆盖app.json的修改。这种情况你可以手动修改ios目录下的Info.plist文件补充权限字符串,或是删除ios目录后再执行构建命令,让Expo重新生成原生配置。 - 构建缓存未清理
执行构建时可以添加--clear-cache参数清理旧的构建缓存,避免缓存的旧配置覆盖你的修改:expo build:ios --clear-cache
你可以在构建完成后,先自行验证ipa包内的Info.plist是否包含正确的权限配置,确认无误后再提交到App Connect,避免重复被驳回。
内容的提问来源于stack exchange,提问作者codeTree
相关产品推荐
相关产品推荐

