这里记录一下自己使用Xcode10.2版本打包好后提交到AppStore应用商店审核和第三方平台(蒲公英)的时候,所遇到的问题和对应解决方法。
一、上传到AppStore
分为以下三个部分:
- 创建新的app
- 打包xcode中设置
- 遇到的问题
首先有个挺完整的操作步骤,戳这里,其中:
1.1 创建新的app
-
每个尺寸的闪屏图至少需要一个,其中某些可以使用前面的图,具体点击“在媒体管理中查看所有尺寸”
-
需要在登录或注册中加上“隐私许可条款”,
内容可以写如下:
本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。1.适用范围a)在您使用本软件网络服务,本软件自动接收并记录的您的手机上的信息,包括但不限于您的健康数据、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;2.信息的使用a)在获得您的数据之后,本软件会将其上传至服务器,以生成您的排行榜数据,以便您能够更好地使用服务。3.信息披露a)本软件不会将您的信息披露给不受信任的第三方。b)根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;c)如您出现违反中国有关法律、法规或者相关规则的情况,需要向第三方披露;4.信息存储和交换本软件收集的有关您的信息和资料将保存在本软件及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本软件收集信息和资料所在地的境外并在境外被访问、存储和展示。5.信息安全a)在使用本软件网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,请您立即联络本软件客服,以便本软件采取相应措施。
- 设置标题或副标题的时候注意只需要写上关键字,可以在AppStore中搜索到自己的这个App即可,不能使用过长的词组或描述性文字,不然审核会被拒绝。
1.2 Xcode中的一些设置
-
File->project.setting->Build System选择“Legacy Build System”
1.3 遇到的问题
-
需要在开发中心中的对应app的身份验证中添加上推送的功能,不然无法上传到商店。
提交ipa到应用商店一直卡在连接商店中,这里不管是xcode直接提交还是使用applicationloader都会卡住。解决方法:
进入命令行工具,cd到根目录
cd~
mv .itmstransporter/ .old_itmstransporter/
"/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"
更新完后重启一下xcode即可。我这里使用的applicationloader是xcode自带的,位置在:点击左上角的xcode ->
或者直接提交(第一次提交还是使用applicationloader比较好,因为这个出现错误会有详细的内容,这样解决也会方便很多)
-
缺少appstore的图标icon,我们在打包的时候会有icon和splace,但这个报错是还需要一个AppStore上的Icon。
解决:在xcode中找到项目,然后在‘Resources’中点‘Images.xcassets’,即可设置各个图标,其中,把对应尺寸'1024x1024'的拖入到下图位置。
-
版本重复,显示在AppStore中已存在该版本
只需要在打包前的General中设置高一点的版本,然后在构建中把对应的版本修改一下即可。
缺少对应功能的权限描述。对于自己app中使用了相机,相册和定位等功能的,需要在info.plist中加上对应的key和value。
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access their camera and photos but does not clarify the use of the camera and photos in the applicable purpose string.
Next Steps
Please revise the relevant purpose string in your app’s Info.plist file to specify why the app is requesting access to the user's camera and photos. You can modify your app's Info.plist file using the property list editor in Xcode.
右击info.plist->Open As -> Source Code
可以直接暴力全部加上:
<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>
这个描述string需要这么写详细点那边才可以给通过的,不然审核会遭到拒绝。
解决了这些问题,一般就可以上传成功并提交给AppStore进行审核了。
二、上传到蒲公英
这里遇到的问题不是很难,就简单说一下。这里先贴上蒲公英官方文档中“安装失败的原因分析”,很详细。https://www.pgyer.com/doc/view/ios_install_failed
- 上传的时候需要选择Ad-hoc
-
需要添加上测试人员的UDID,在开发中心中添加。
在Devices中加上UDID后需要在Provisioning Profiles中的hodc里点edit,然后更新Devices(重新选择所有开发人员)。