Xcode 工程里那个叫 Info 的页签,对应的文件就是 info.plist,一个 XML 格式的属性清单,记着 App 的显示名、包名、版本号和支持的屏幕方向。新建项目时 Xcode 会自动生成,删掉了各种奇怪问题就来了。上架被拒、调用相机直接闪退,十有八九是这个文件的问题。
权限描述键最重要
iOS 上访问相机、相册、定位、麦克风,都要有对应的 Usage Description 键,值是给用户看的一句话说明。没配这个键,代码一调对应接口进程就被系统杀掉,控制台只留一句崩溃信息,新手经常卡在这。写法长这样:
<key>NSCameraUsageDescription</key> <string>需要使用相机拍摄商品照片</string>URL Types 键用来注册自定义 scheme,做外部跳转拉起时才动它,平时不用碰。
描述写得含糊,比如只写「需要使用相机」,审核也可能被打回,尽量写清楚在哪个功能里用、拿去干什么。iOS 14 之后本地网络也有专门的键,访问局域网设备的应用别漏配。
其他常动的键
- CFBundleDisplayName:桌面图标下面显示的名字。
- CFBundleShortVersionString:对外版本号,每次提审要递增,忘了改审核备注会提。
- LSApplicationQueriesSchemes:要检测的第三方 App 的 scheme 白名单,不加就查不到别的应用装没装。
- UISupportedInterfaceOrientations:允许的屏幕方向,横屏 App 别漏。
怎么改不容易错
优先在 Xcode 的 Info 页签里改,可视化界面不容易写坏格式;要脚本批量处理再用源码方式编辑 XML。改完记得同步看一眼 target 的构建配置,info.plist 的路径、文件名如果改过,配置里的引用也得跟着改,不然打包用的还是老文件。模拟器和真机表现不一致时,先 diff 一下两个 target 的配置差异。改完跑一次模拟器,权限弹窗那行字念一遍通不通顺,用户是看得见的。