iOS app上架app store流程详解
<h2 id="h490b8bf-LjVPb0lf" data-id="h490b8bf-3dM6gMfG"> </h2><p data-id="p838747a-N69m8p6H">前提条件</p>
<p data-id="p838747a-pIzZtF4c">在有效期内的苹果开发者账号(类型为个人或者公司账号)。还有一种情况,就是你的Apple ID被添加到公司开发者账号团队里面,这样也是可以的,但是需要叫管理员给你开通相应的账号权限,如下截图:</p>
<p data-id="p838747a-KE37VLEV"> </p>
<p data-id="p838747a-2tQ2vtZY">这里可能有些同学会问,苹果开发者账号是什么?如何申请?那么可以看看我的上一篇文章:iOS苹果开发者账号(公司账号)申请流程详解</p>
<p data-id="p838747a-ivnHr59O"> </p>
<p data-id="p838747a-XBAWlvux">能正常编译打包的iOS工程项目(都不能正常编译谈何出包上架��)</p>
<p data-id="p838747a-lCju09Uz"> </p>
<p data-id="p838747a-dqecMXLm">具体步骤</p>
<p data-id="p838747a-7LyLx4Y8">1.新测试设备不需要手动到开发者账号里面进行添加,连接设备运行Xcode会弹出提示,选择register device即可自动添加。</p>
<p data-id="p838747a-PuWRcSgf">2.开发证书和发布证书到Xcode Account里面都可以生成和管理,不需要到开发者账号里面手动生成。</p>
<p data-id="p838747a-VfEB4hkC"> </p>
<p data-id="p838747a-bee1JdRz">登录App Store Connect</p>
<p data-id="p838747a-3a3bnnWn">什么是App Store Connect? 官网是这么说的:App Store Connect 是一套以网页为基础的工具,用于管理在 App Store 上销售的面向 iPhone、iPad、Mac、Apple Watch、Apple TV 和 iMessage 信息的 App。作为 Apple Developer Program 的会员,您将使用 App Store Connect 提交和管理 App,邀请用户使用 TestFlight 进行测试,添加税务和银行业务信息,以及访问销售报告等。</p>
<p data-id="p838747a-fm2Fg21u"> </p>
<p data-id="p838747a-DbHJNZEW">先使用Apple ID登录App Store Connect,登录成功如下截图:(登录的Apple ID是申请苹果开发者账号的Apple ID,或者已经加入到公司开发账号团队的Apple ID,否则是没法登录成功的)</p>
<p data-id="p838747a-bl6n2zgt"> </p>
<p data-id="p838747a-NVfDYZLK"> </p>
<p data-id="p838747a-MtCNGocc"> </p>
<p data-id="p838747a-bG0fl8dL">新建需要发布的APP</p>
<p data-id="p838747a-zMHldkuU">进入App store Connect后,点击我的App,然后点击加号新建app, 最后填写新建app的相关信息。</p>
<p data-id="p838747a-5AhVnDhy"> </p>
<p data-id="p838747a-ee1hqdgr"> </p>
<p data-id="p838747a-MjW6GUTH"> </p>
<p data-id="p838747a-cthdMhEb">需要填写的信息如下:</p>
<p data-id="p838747a-drGPvdWI"> </p>
<p data-id="p838747a-dNrMLYGi">选好平台(我开发的是iOS应用,所以选择iOS平台)。</p>
<p data-id="p838747a-yTNsEF6o">名称就是最终审核通过显示在app store上面的名称(创建后是可以修改的)。</p>
<p data-id="p838747a-A6bwN7g9">语言根据app类型走,我选择的是简体中文。</p>
<p data-id="p838747a-SuW1WuXf">套装ID就是应用的Bundle ID,直接下拉选择。(什么?没找到应用的Bundle ID?别搞笑了,没有Bundle ID,怎么开发运行测试呢?)</p>
<p data-id="p838747a-9ymCqW3Q">SKU不知道有啥用,我用Bundle ID代替了。</p>
<p data-id="p838747a-pKxUuJvz">用户访问权限意思就是在这个开发账号团队里面谁可以看到这个app。(有限代表只能自己看到或者指定的人员可以看到,完全代表所有人都可以看到)。</p>
<p data-id="p838747a-j3dJmyFi">最后点击创建,创建成功后就会进入如下页面:</p>
<p data-id="p838747a-ezid3sRn"> </p>
<p data-id="p838747a-hcwCbsJ1"> </p>
<p data-id="p838747a-WYbSxKAY">有些同学可能会创建失败,比如名称显示无法使用(其实就是被占用的意思)。那么会存在两种情况:</p>
<p data-id="p838747a-WWi1nzx7"> </p>
<p data-id="p838747a-Bar0Qv94">开发者账号里面已经存在这个名字的app。这种情况比较幸运,都是自己内部的app,改下就好了。</p>
<p data-id="p838747a-wtIy1d2E">排除掉上面的情况,那就是真的被占用了。这意味着你只能换个名称,在准备上线的情况下出现这种情况,真的是非常糟糕。</p>
<p data-id="p838747a-YlKc5SCS">除了名称,Bundle ID也会出现无法创建的情况,原因是类似的。所以为了避免这种情况,在app开发需求明确后,先到App Developer创建Bundle ID,然后到App Store Connect新建App,提前查看名称或者Bundle ID是否被占用。</p>
<p data-id="p838747a-OWEmfJVw"> </p>
<p data-id="p838747a-DFVZbBy7"> </p>
<p data-id="p838747a-H8yP6kIo">完善新建app的信息</p>
<p data-id="p838747a-JZVrUJYD">这是必须的,否则无法提交审核。必须要填写完善的信息有如下几大类:</p>
<p data-id="p838747a-m2322xzd"> </p>
<p data-id="p838747a-oaJasbjB">App信息</p>
<p data-id="p838747a-8Yo2XJ3v">审核信息</p>
<p data-id="p838747a-Rl10oZBa">App预览和截屏:就是App Store里面app的预览图。</p>
<p data-id="p838747a-HGh7OPIz">推广文本、描述:推广介绍app的信息。</p>
<p data-id="p838747a-Uynprhhs">关键词:好的关键词可提高app被搜索率。</p>
<p data-id="p838747a-bOPHxCro">技术支持网(URL):直接填公司官网,个人开发者的话就得自己创建个网页了。</p>
<p data-id="p838747a-ggMf2CFC">版本和版权:版本-就是app此次的版本号,版权-公司就写公司的名称,个人就看自己喜好了。</p>
<p data-id="p838747a-szw6ebbg">登录信息和联系信息:这是苹果审核人员需要的,app如果需要登录使用就提供登录账号信息,不需要登录使用就不用管,联系信息是苹果审核人员审核app遇到问题了,联系谁进行解决。</p>
<p data-id="p838747a-YrXubae9">备注:额外需要声明的信息,没有就不管。</p>
<p data-id="p838747a-vlPRO0vN">版本发布:审核通过后是手动发布还是自动发布。</p>
<p data-id="p838747a-m7SMlvwm">基础信息</p>
<p data-id="p838747a-bSVVUaBS">名称和副标题:名称是app在app store上面显示的名称,副标题是显示在名称下面的灰色字样。</p>
<p data-id="p838747a-rb3NhNpH">内容版权、年龄分级和类别:很容易理解,如实填写选择就好了。</p>
<p data-id="p838747a-TOsJ7r1k">价格与销售范围:如实填写选择就好。</p>
<p data-id="p838747a-9TMXiHEv">App隐私: 如下截图,隐私政策网址必填,然后点击开始按钮,选择说明app需要获取用户哪些信息和权限。</p>
<p data-id="p838747a-RR2wj7Qp"> </p>
<p data-id="p838747a-RQSwEvEh">上传app包文件到app store后台。</p>
<p data-id="p838747a-6qPFly7t"><strong>方法1.借助辅助工具appuploader,首先按照流程注册登录后,即可直接创建证书,通过hbuilder上传</strong><strong></strong></p>
<p data-id="p838747a-1hLgE9T4"><strong>创建ios(.p12)证书</strong><strong></strong></p>
<ol data-id="o9d5df12-HhpVZOal">
<li data-id="ld70c578-JKSyQ6Df">点击苹果证书</li>
<li data-id="ld70c578-vrzUMrLP">新增苹果证书</li>
<li data-id="ld70c578-XnnV66vj">输入证书密码:这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类</li>
<li data-id="ld70c578-fb8uOGP4">选择证书类型:带distribution的是发布类型,带development的是开发类型。apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的 </li>
</ol>
<p data-id="p838747a-cBoQQRQu">5. 选择bundle ID:只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。</p>
<p data-id="p838747a-e2lOCiCD">6. 使用appuploader服务同步:如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。</p>
<p data-id="p838747a-ZyTlCO8h">7. 证书类型说明:IOS开发选择apple development或者ios app development 类型</p>
<p data-id="p838747a-fwprxNsS">ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)</p>
<p data-id="p838747a-iKa1xNps">开发推送证书选择</p>
<p data-id="p838747a-2Adr9YNm">发布推送证书选择</p>
<p data-id="p838747a-IVdVVPLZ">其他证书不是很常用,可以自行百度各种证书说明。</p>
<p data-id="p838747a-pfRcxJkG"> </p>
<p data-id="p838747a-VBvllG5F">8.官遇到问题,首先登录文章开通的苹果开发官网。检查是否有权限/是否被停用/是否过期/是否有协议需要同意。在右上角切换账号检查所关联的账号是否功能正常。Apple邮箱会接收到许多通知消息,如IPA上传,账号发生变化,被停用,都会有消息提示。</p>
<p data-id="p838747a-0IyE6SBD"> </p>
<p data-id="p838747a-2rX8W6FI">9.上架版本需要使用正式的证书(apple distribution),开发测试用开发证书(apple development)</p>
<p data-id="p838747a-SYADTFRi"> </p>
<ol data-id="o9d5df12-m3Smqr8f">
<li data-id="ld70c578-J6UBssnd">一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要。证书无需创建太多,apple对证书有数量限制,一般3个开发证书就不让创建更多同类型的证书了。</li>
<li data-id="ld70c578-zjEisMgg">点击p12下载到电脑。</li>
</ol>
<p data-id="p0e47204-0HYffjkU"> </p>
<p><img src="https://s4.51cto.com/images/202212/2888f445f29a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk="></p>
<p data-id="p838747a-8nphC5b9"> </p>
<p data-id="p124945a-Lj0Y717n"> </p>
<p data-id="p124945a-ootBCc7P"> </p>
<p data-id="p124945a-1p5G9knX"> </p>
<p data-id="p838747a-Wcu1lOYX"> </p>
<p data-id="p838747a-9aji8LhN"><strong>添加测试设备UDID</strong><strong></strong></p>
<ol data-id="o9d5df12-lRxmw8hb">
<li data-id="ld70c578-iGmZf7It">点击udid</li>
</ol>
<p><img src="https://s4.51cto.com/images/202212/d7d82400d239.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk="></p>
<p data-id="p838747a-qW3x2MZ5">2.新增udid</p>
<p data-id="p838747a-GvXPny6G"> </p>
<p><img src="https://s4.51cto.com/images/202212/f9f0f51cbce4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk="></p>
<p><img src="https://s4.51cto.com/images/202212/02b4b29f1331.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk="></p>
<p data-id="p838747a-YHPHdapg"> </p>
<p data-id="p838747a-F78twkZ4"> </p>
<p data-id="p838747a-H04gbhBJ"> </p>
<p data-id="p838747a-NKUsJgwO"> </p>
<p data-id="p838747a-A09F8WpM"><strong>创建描述文件</strong><strong></strong></p>
<ol data-id="o9d5df12-NKQTtwvn">
<li data-id="ld70c578-cNzoexBu">点击描述文件</li>
<li data-id="ld70c578-AXdIFbVx">点击新增描述文件,在弹出框里面选择要安装测试到的设备,如果是发布类型无需选择设备。选择使用的证书,如果忘记是哪个 了可以选择全部证书。</li>
<li data-id="ld70c578-vmWC3yTe">描述文件类型说明:带app store类型的是发布类型,带development的是开发类型,push没有描述文件,所以不要问推送选择哪种描述文件类型,os开发选择ios app development类型,发布app的时候选择app store类型。(ps:除了APP Store类型的描述文件外,其他的描述文件都需要选择测试设备)</li>
</ol>
<p data-id="p838747a-OHfQtjh5">4.点击下载按钮下载桌面</p>
<p><img src="https://s4.51cto.com/images/202212/078be351d167.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk="></p>
<p data-id="p838747a-xcfdLXmb"> </p>
<p data-id="p838747a-3yG1r8ht"> </p>
<p data-id="p838747a-o7p3HEaa"><strong>测试安装App</strong></p>
<ol data-id="o9d5df12-o6jiODe0">
<li data-id="ld70c578-er1Pti8I">以HBuilder打包Vue项目为例,打开详细设置进行设置完成后,点击保存。</li>
<li data-id="ld70c578-9PI9C1jP">官菜单项点击‘发行-> 云打包-打原生包’,出现如下图所示弹框,取消广告勾选,没有错误提示,选择刚才制作的p12和.mobileprovision文件,输入刚才设置的证书密码。点击打包,等待打包未完成(仅以ios为例)</li>
<li data-id="ld70c578-GZ1Ytzv8">官打包完成后点击确定“OK”按钮查看打包状态信息,打包完成后,保存安装包到目标文件,发送到手机端安装即可运行。</li>
<li data-id="ld70c578-qIjXaWzP">测试设备:如果选择的类型是ios app development 类型,则全部测试设备旁边必须有测试设备并且勾选上,如果没有显示测试设备,点击框框下面的添加测试,然后把测试设备的udid输入,把ios设备连接到当前pc,会自动获得设备的udid。 如果app编译后无法安装到设备,可能是因为设备的udid没有添加进入描述文件,则需要添加描述文件后重新编译。</li>
</ol>
<p data-id="p838747a-zdiyMolP"> </p>
<p data-id="p838747a-al3DKwtE"> </p>
<p data-id="p838747a-gb9aIErl"><strong>方法2.</strong><strong>Xcode上传,这里简单讲下步骤:</strong><strong></strong></p>
<p data-id="p838747a-U5xvQ2Lt"> </p>
<p data-id="p838747a-GGXXPWVp">构建打包ipa文件</p>
<p data-id="p838747a-L5fuwM8G"> </p>
<p data-id="p838747a-FXrI4m3M"> </p>
<p data-id="p838747a-5862CwpV">打包成功后,选择具体包版本,点击Distribute App。</p>
<p data-id="p838747a-fUJJ6nkl"> </p>
<p data-id="p838747a-Ckjod1U3"> </p>
<p data-id="p838747a-dlZJ8JcO">选择App Store Connect。(Ad Hoc选项代表出包给测试人员测试)</p>
<p data-id="p838747a-bZrCIhKk"> </p>
<p data-id="p838747a-PRnHkU2J">点击next,后面几个步骤都点击Next按钮,选项配置不用管都按默认的走。</p>
<p data-id="p838747a-SbK3g7lt"> </p>
<p data-id="p838747a-TVm6dOpv"> </p>
<p data-id="p838747a-HkT1QjTG">最后点击Upload,就开始上传了,耐心等待。我大概6分钟就上传成功了(包文件如果大或者网速慢时间相对会比较长)。这是我上传成功的截图:</p>
<p data-id="p838747a-EN0r8mv1"> </p>
<p data-id="p838747a-Hh6eT2q4"> </p>
<p data-id="p838747a-4YqrTQRf">上传成功后,登录App Store Connect,进入app详情页面,点击顶部TestFlight,在构建版本中就可以看到你刚上传的版本,状态一般会显示正在处理。</p>
<p data-id="p838747a-waFpMJEs"> </p>
<p data-id="p838747a-q29c7eaB"> </p>
<p data-id="p838747a-ToBDrcNx">如果等了很久(10分钟左右吧)刷新页面还是没看到上传的构建版本,那么就是ipa包被拒绝了,这时候一般会收到拒绝原因的邮件。我就是这种情况��(包含过时的UIWebView),邮件如下:</p>
<p data-id="p838747a-vGrII3pI"> </p>
<p data-id="p838747a-QUitl7En"> </p>
<p data-id="p838747a-iQJbGpbv">解决问题,重新上传就行了。最终上传构建的app版本状态显示为准备提交才能提交审核,状态从正在处理变为准备提交我等待了20分钟左右,这个时间是不固定的,看具体情况,类似那种几百兆的app,时间就会特别长。</p>
<p data-id="p838747a-FEI5ofI6"> </p>
<p data-id="p838747a-uk4NDh7u"> </p>
<p data-id="p838747a-W6vAoHqv"> </p>
<p data-id="p838747a-7m87Hjlv">选择APP版本,提交审核</p>
<p data-id="p838747a-MvyV0Wb8">登录App Store Connect,进入App详情页面,找到构建版本,然后选择一个最新提交的构建版本。</p>
<p data-id="p838747a-3hMByhoZ"> </p>
<p data-id="p838747a-Au0ToM3R"> </p>
<p data-id="p838747a-uSB1ZaIM">滑动页面到最顶部,点击存储,然后再点击右边的添加以供审核,确认相关信息后,就提审成功了。</p>
<p data-id="p838747a-R3JIkDJg"> </p>
<p data-id="p838747a-mpDMzjSX"> </p>
<p data-id="p838747a-yFiQnbQq">接下来就是等待审核,苹果审核时间大多集中在晚上凌晨或者第二天早上6-8点, 顺利的话一般2天左右就有审核结果。</p>
<p data-id="p838747a-aQMms2XZ"> </p>
<p data-id="p838747a-NzxOQCjz">等了2天,“不出意外”,我提交的审核被无情的拒绝了:</p>
<p data-id="p838747a-P06BJrhs"> </p>
<p data-id="p838747a-jk9rE4pX"> </p>
<p data-id="p838747a-49xQlPDR">这种情况没办法,只能根据实际情况去进行修改,或者做出必要的解释说明。被拒绝多次也是很常见的,反正耐心的去解决苹果提出的问题,最终都会通过审核的。</p>
<p data-id="p838747a-dBT05U9B"> </p>
<p data-id="p838747a-8u45mVfv"> </p>
<p data-id="p838747a-lqrIjycm"> </p>
<p data-id="p838747a-n2U0lwkq">至此,iOS app上架app store流程就结束了。</p>
<p data-id="p838747a-NOtPdDQg"> </p><br><br>
来源:https://www.cnblogs.com/xnyzie/p/16965843.html
頁:
[1]