实战用Xcode打包iOS端APP并通过App Store Connect分发提交审核

本文以实战经验教你用Xcode打包iOSAPP以及上传二进制文件并通过App Store Connect分发提交审核。

这里以读者具备开发iOS项目的能力并且已开发出app准备打包并上传二进制文件到App Store Connect。

先给大家看看我审批下来的版本记录。

开发完iOS项目一般是先在模拟器或移动设备上调试,然后打包成ipa文件分发到不同设备测试,然后把二进制文件上传到App Store Connect,然后通过TestFlight邀请用户测试,然后提交App Store审核,最后发布到App Store供所有人下载。

关于如何打包到手机上调试可以看我的另一篇文章《全网最详细实战图文讲解Xcode打包HBuilderX开发的uni-app项目并运行到iPhone上》。

首先要到App Store Connect上新建App,这个要先订阅成为苹果开发者后才有权限,关于如何注册成为苹果开发者可以看我的另一篇文章《全网最全实战注册苹果开发者账号教程》。

关于App分发Xcode提供了App Store Connect、Ad Hoc、Enterprise、Development四种方式,正如标题所写的,本文讲解通过App Store Connect分发App。

首先要“Edit Scheme”,然后Build选择“Any iOS Device”:

然后在顶部菜单栏“Product”下选“Archive...”开始打包,执行完会自动弹出Archives界面,选择对应的版本,点“Distribute App”:

如果把Archives界面关了,可以通过顶部菜单栏的“Window”下选“Organizer”重新打开,点“Distribute App”就会看到上面说的四种分发方式:

关于四种分发方式涉及到四种苹果开发者账号和三种证书:

下一步是“Upload”:

Next:

选择“Automatically manage signing”,这样就不用创建管理各种证书了:

直接下一步:

这一步点“Export Signing Certificate...”可以导出证书:

然后输入系统登录密码:

然后核对一下ipa文件信息:

点“upload”可能会报错:

ERROR ITMS-90158: "The following URL schemes found in your app are not in the correct format: [2021xxxxxx]. URL schemes need to begin with an alphabetic character, and be comprised of alphanumeric characters, the period, the hyphen or the plus sign only. Please see RFC1738 for more detail."

这个错误只需要修改Info.plist的URL types,找到对应的URL schemes,我这里是支付宝,前面加“alixpay”后面是支付宝APPID然后重新打包(Product->archive)即可。

其他可能报版本号已存在,二进制文件上传到App Store Connect后不能再上传相同版本号,即使你删除了上面的文件也行,这点个人觉得很不合理,这样就没法保证更新版本号的连贯性!

ERROR ITMS-90189: "Redundant Binary Upload. You've already uploaded a build with build number '8' for version number '0.0.8'. Make sure you increment the build string before you upload your app to App Store Connect. Learn more in Xcode Help (http://help.apple.com/xcode/mac/current/#/devba7f53ad4)."

或者版本号命名无效:

ERROR ITMS-90060: "This bundle is invalid. The value for key CFBundleShortVersionString '0.0.7.1' in the Info.plist file at 'Payload/fenxianglu.app' must be a period-separated list of at most three non-negative integers. Please find more information about CFBundleShortVersionString at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring"

这些只需要修改“Version”、“Build”那里的版本号即可。

经过一段时间的上传,这个具体要看网络速度,有时候可能遇到服务器出问题一直停留在那里,正常情况最后会看到Archive upload complete:

上传完要等到邮件提醒“The following build has completed processing:...”才能在“构建版本”那里选刚刚上传的版本,这个时候我们可以先填写版本信息、App综合信息、App审核信息、版本发布,其中截图可以用模拟器截,根本不用找对应的真机截,5.5英寸显示屏即iPhone 8 plus:

接着填写App信息、价格与销售范围、App隐私、App内购买项目等,其中“价格与销售范围”和“App内购买项目”我在另一篇文章《实战iOS端APP实现苹果应用内支付(IAP)(附代码)》有详细介绍。

实际上,我们应该先通过TestFlight邀请用户先进行测试然后再提交App Store审核,关于邀请用户测试以及各种账号设置可以看我的另一篇文章《App Store Connect设置各种账号并通过TestFlight进行App相关测试

收到构建完通知邮件后我们可以添加构建版本并提交以供审核,提交审核后到“正在审核”前很多信息都还可以修改的:

接下来就等待审核了,手机上可以下载苹果的Connect应用查看进度,第一次提交会优先审核,一天甚至有两三次审核机会,放心苹果的审核人员会以各种理由拒绝你的,这方面可以看我的另一篇文章《实战分析APP提交苹果App Store审核被拒绝的一些原因以及对策》。

有什么问题可以通过APP评论留言,或者通过小程序在线客服找我帮忙,我尽量协助大家就是了。

最后祝你们的应用早日上架App Store。

个人网站有更多原创文章,原文链接:https://www.xubingtao.cn?p=2889

关注我的公众号每天为你发布各类有用信息。

猜你喜欢

转载自blog.csdn.net/xubingtao/article/details/112390565