这篇文章来记录一下今天在打包的时候,发现在iTunes Connect上无法添加构建版本的问题以及我的解决方案。
奋战了一个多月的项目,今天终于可以打包,准备发布上线了。但是蛋疼的问题出现了,我是用Application Loader工具来提交的,如图完美提醒Successful!
但是,当我进来iTunes Connect的时候,发现无法添加构建版本(“构建版本”后面没有“+”号)。
点击“TestFlight”->“iOS”可以查看当前的构建版本,但也是没有。
虽然能够成功打包,但ipa文件不一定没有问题。出现问题的话,苹果是会发送邮件告知你ipa文件存在的问题的具体描述,这时候查看邮件,果然是有一封。很明显,是我的项目需要访问相机、相册,但是没有打开相应的访问权限。
解决办法:
在info.plist中添加UsageDescription相关的key, 描述字符串自己随意填写就可以,但是一定要填写,不然会引发包无效的问题,导致上传打包后构建版本一直不显示。
< !-- 相册 -->
< key>NSPhotoLibraryUsageDescription< /key>
< string>App需要您的同意,才能访问相册< /string>
< !-- 相机 -->
< key>NSCameraUsageDescription< /key>
< string>App需要您的同意,才能访问相机< /string>
< !-- 麦克风 -->
< key>NSMicrophoneUsageDescription< /key>
< string>App需要您的同意,才能访问麦克风< /string>
< !-- 位置 -->
< key>NSLocationUsageDescription< /key>
< string>App需要您的同意,才能访问位置< /string>
< !-- 在使用期间访问位置 -->
< key>NSLocationWhenInUseUsageDescription< /key>
< string>App需要您的同意,才能在使用期间访问位置< /string>
< !-- 始终访问位置 -->
< key>NSLocationAlwaysUsageDescription< /key>
< string>App需要您的同意,才能始终访问位置< /string>
< !-- 日历 -->
< key>NSCalendarsUsageDescription< /key>
< string>App需要您的同意,才能访问日历< /string>
< !-- 提醒事项 -->
< key>NSRemindersUsageDescription< /key>
< string>App需要您的同意,才能访问提醒事项< /string>
< !-- 运动与健身 -->
< key>NSMotionUsageDescription< /key>
< string>App需要您的同意,才能访问运动与健身< /string>
< !-- 健康更新 -->
< key>NSHealthUpdateUsageDescription< /key>
< string>App需要您的同意,才能访问健康更新 < /string>
< !-- 健康分享 -->
< key>NSHealthShareUsageDescription< /key>
< string>App需要您的同意,才能访问健康分享< /string>
< !-- 蓝牙 -->
< key>NSBluetoothPeripheralUsageDescription< /key>
< string>App需要您的同意,才能访问蓝牙< /string>
< !-- 媒体资料库 -->
< key>NSAppleMusicUsageDescription< /key>
< string>App需要您的同意,才能访问媒体资料库< /string>
权限配置好以后,再次打包提交。
“打包之前,记得把Build构建数递增一下。”
“打包之前,记得把Build构建数递增一下。”
“打包之前,记得把Build构建数递增一下。”
ipa文件提交成功后,进来“TestFlight”->“iOS”就能看到构建版本了。
等待构建版本被处理完后,“+”后终于千呼万唤始出来了!还能看到之前存在问题的ipa文件,蛋蛋的忧桑油然而生。
最后“提交”,等待审核!!!
祝你好运!