iOS APP打包上传到APPstore的最新步骤
<h2 id="h490b8bf-mTmN6dId" data-id="h490b8bf-Z7b4NliE"> </h2><h3 id="h6f20189-mgZ2g2U1" data-id="h6f20189-lo8FkUnH">一、前言:</h3>
<p data-id="p838747a-z4DEM8xs">作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上</p>
<p data-id="p838747a-hu5Pf9gI">下面就来详细讲解一下具体流程步骤。</p>
<h3 id="h6f20189-O7U0QRRZ" data-id="h6f20189-HUiqA3bh">二、准备:</h3>
<p data-id="p838747a-8lTdfrYH">一个已付费的开发者账号(可分为):</p>
<p data-id="p838747a-ETecAb61">账号类型分为个人(Individual)</p>
<p data-id="p838747a-VkhgOpxb">公司(Company)</p>
<p data-id="p838747a-7C1HbmLb">企业(Enterprise)</p>
<p data-id="p838747a-QgfkTNdE">高校(University)四种类型</p>
<p data-id="p838747a-w762fjAs">每年资费分别为$99、$99、$299、免费。</p>
<p data-id="p838747a-AUymZTbq">一个已经开发完成的项目。</p>
<h3 id="h6f20189-IBV83ERP" data-id="h6f20189-hSCb666d">三、检查:</h3>
<p data-id="p838747a-6wzd9iUl">安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。</p>
<p data-id="p838747a-pPFUV2bP">上传使用的</p>
<p data-id="p838747a-Ur1zJIMn">请确认你安装的Xcode是从App Store或者是开发者网站下载的</p>
<p data-id="p838747a-x73znjzO">因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?</p>
<h3 id="h6f20189-AXG92fBE" data-id="h6f20189-k7QoGaIW">四、生成发布证书</h3>
<p data-id="p838747a-jE5U15Gx">1.打开开发者中心网址:https://developer.apple.com<br>2.点击:Account</p>
<p data-id="p838747a-9kUpj8RO">1.2 输入Apple ID和密码(没有则需注册)</p>
<p data-id="p838747a-zkXqYdrC">1.3 加入苹果开发者计划(如已加入,可跳过这一步)</p>
<p data-id="p838747a-rVcYgtWD">join the Apple Developer Program</p>
<p data-id="p838747a-saMaSAYp">Enroll</p>
<p data-id="p838747a-rGZ9Ue6F">Start Your Enrollment</p>
<p data-id="p838747a-tNH6mDNN">根据需要选择账号类型(个体、公司、政府组织)。</p>
<p data-id="p838747a-h7sP6hpO">选择账号类型</p>
<p data-id="p838747a-9t7reATt">填写开发者信息</p>
<p data-id="p838747a-hEbF8rXy">确认信息</p>
<p data-id="p838747a-URUB02qd">购买信息</p>
<p data-id="p838747a-QcqQzz8l">填写付款信息进行购买</p>
<p data-id="p838747a-3TmzatAr">2、准备证书</p>
<p data-id="p838747a-imsczJoJ">首先介绍以下相关概念:</p>
<p data-id="p838747a-BXniyN4p"> <strong>Certificate</strong>:证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的,未经修改的。在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。证书主要分为两类:Development和Production,Development证书用来开发和调试应用程序,Production主要用来分发应用程序。</p>
<p data-id="p838747a-sUw1nipG"> APP ID: 用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。</p>
<p data-id="p838747a-6k0RKNgo"> Devices: 包含了该账户中所有可用于开发和测试的设备。</p>
<p data-id="p838747a-3hJCOwv5"> <strong>Provisioning Profile</strong>:配置文件,包含了上述的所有内容:证书、APP ID、设备。、</p>
<p data-id="p838747a-Rp6MxOkc">进入苹果开发者中心,点击下图所示位置进入证书、标识符和配置文件管理页面。</p>
<p data-id="p838747a-mJjXBUmM"> </p>
<p data-id="p838747a-FZJZRTXF"> 进入证书、标识符和配置文件管理页面</p>
<p data-id="p124945a-GGkhVnfd">5.点击Certificates生成证书</p>
<p data-id="p838747a-WwkUFe05">选择iOS, tvOS, watchOS</p>
<p data-id="p838747a-qUYhqCJ7">选择All</p>
<p data-id="p838747a-brXklmbt">点击右上角新添加证书</p>
<p data-id="p124945a-rFkUhehE">6.选择生产证书(选择App Store and Ad Hoc)</p>
<p data-id="p838747a-RECrIjNj">注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。</p>
<p data-id="p838747a-yvjrOj6B"> </p>
<p data-id="p838747a-mBmTmPxX"> </p>
<p data-id="p838747a-Vz9zMrFI"> </p>
<p data-id="p838747a-8GtGVBHl"> </p>
<p data-id="p838747a-COaJnlok">解决方法:</p>
<p data-id="p838747a-HmKdtnVy">从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)</p>
<p data-id="p838747a-XLVznnn7"> </p>
<p data-id="p838747a-slPUxazR">如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!</p>
<p data-id="p838747a-vaGhSJAC">注意:如果你想删除证书,执行下面步骤,否则略过。</p>
<p data-id="p838747a-mbQLY6tH"> </p>
<p data-id="p838747a-Evo4sHZN">上传app包文件到app store后台。</p>
<p data-id="p838747a-n3LJqVPp"><strong>方法1.借助辅助工具appuploader,首先按照流程注册登录后,即可直接创建证书,通过hbuilder上传</strong><strong></strong></p>
<p data-id="p838747a-ltDlavjF"><strong>创建ios(.p12)证书</strong><strong></strong></p>
<ol data-id="o9d5df12-hh7I61T7">
<li data-id="ld70c578-qD9V4uJv">点击苹果证书</li>
<li data-id="ld70c578-2hz7QIy1">新增苹果证书</li>
<li data-id="ld70c578-IJIpTzpm">输入证书密码:这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类</li>
<li data-id="ld70c578-UGwLgNhj">选择证书类型:带distribution的是发布类型,带development的是开发类型。apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的 </li>
</ol>
<p data-id="p838747a-J09pjsP9">5. 选择bundle ID:只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。</p>
<p data-id="p838747a-VKcX9k8Z">6. 使用appuploader服务同步:如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。</p>
<p data-id="p838747a-LrADZQFy">7. 证书类型说明:IOS开发选择apple development或者ios app development 类型</p>
<p data-id="p838747a-capq72eo">ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)</p>
<p data-id="p838747a-Nmy7vPEg">开发推送证书选择</p>
<p data-id="p838747a-uQRaKoOv">发布推送证书选择</p>
<p data-id="p838747a-wp2iIZi1">其他证书不是很常用,可以自行百度各种证书说明。</p>
<p data-id="p838747a-T8Jppdka"> </p>
<p data-id="p838747a-arlKBNIt">8.官遇到问题,首先登录文章开通的苹果开发官网。检查是否有权限/是否被停用/是否过期/是否有协议需要同意。在右上角切换账号检查所关联的账号是否功能正常。Apple邮箱会接收到许多通知消息,如IPA上传,账号发生变化,被停用,都会有消息提示。</p>
<p data-id="p838747a-1waONBRc"> </p>
<p data-id="p838747a-Ib1eGjbz">9.上架版本需要使用正式的证书(apple distribution),开发测试用开发证书(apple development)</p>
<p data-id="p838747a-HKryy9R8"> </p>
<ol data-id="o9d5df12-WDc2GV03">
<li data-id="ld70c578-IglJz7yq">一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要。证书无需创建太多,apple对证书有数量限制,一般3个开发证书就不让创建更多同类型的证书了。</li>
<li data-id="ld70c578-GDe8JXUe">点击p12下载到电脑。</li>
</ol>
<p data-id="p0e47204-86CX7946"> </p>
<p><img src="https://s4.51cto.com/images/202212/54d49e47232a.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-xqxLRkfe"> </p>
<p data-id="p124945a-OVMYKq51"> </p>
<p data-id="p124945a-pSiORh7g"> </p>
<p data-id="p124945a-lbZbcYFe"> </p>
<p data-id="p838747a-6IrmFXmU"> </p>
<p data-id="p838747a-Qpmxdigp"><strong>添加测试设备UDID</strong><strong></strong></p>
<ol data-id="o9d5df12-5ae2rABO">
<li data-id="ld70c578-ELztZYOo">点击udid</li>
</ol>
<p><img src="https://s4.51cto.com/images/202212/9309481dec99.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-cK8yEj4e">2.新增udid</p>
<p data-id="p838747a-R7hM8u3N"> </p>
<p><img src="https://s4.51cto.com/images/202212/5640061f5b1d.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/9707ff5a8a72.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-QORIyU6g"> </p>
<p data-id="p838747a-hiwGPups"> </p>
<p data-id="p838747a-3R9r1vJI"> </p>
<p data-id="p838747a-BFUCjB3K"> </p>
<p data-id="p838747a-0N07x63d"><strong>创建描述文件</strong><strong></strong></p>
<ol data-id="o9d5df12-SNt4bBJg">
<li data-id="ld70c578-4wxx5Y73">点击描述文件</li>
<li data-id="ld70c578-nv6j7EF1">点击新增描述文件,在弹出框里面选择要安装测试到的设备,如果是发布类型无需选择设备。选择使用的证书,如果忘记是哪个 了可以选择全部证书。</li>
<li data-id="ld70c578-fmhNxnto">描述文件类型说明:带app store类型的是发布类型,带development的是开发类型,push没有描述文件,所以不要问推送选择哪种描述文件类型,os开发选择ios app development类型,发布app的时候选择app store类型。(ps:除了APP Store类型的描述文件外,其他的描述文件都需要选择测试设备)</li>
</ol>
<p data-id="p838747a-0gYJLCMJ">4.点击下载按钮下载桌面</p>
<p><img src="https://s4.51cto.com/images/202212/493125150973.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-s8MvELEt"> </p>
<p data-id="p838747a-qL3t231Q"> </p>
<p data-id="p838747a-CMvz4smK"><strong>测试安装App</strong></p>
<ol data-id="o9d5df12-kWmbkoIG">
<li data-id="ld70c578-QjFQLWg6">以HBuilder打包Vue项目为例,打开详细设置进行设置完成后,点击保存。</li>
<li data-id="ld70c578-6czhnURn">官菜单项点击‘发行-> 云打包-打原生包’,出现如下图所示弹框,取消广告勾选,没有错误提示,选择刚才制作的p12和.mobileprovision文件,输入刚才设置的证书密码。点击打包,等待打包未完成(仅以ios为例)</li>
<li data-id="ld70c578-67uDmuFP">官打包完成后点击确定“OK”按钮查看打包状态信息,打包完成后,保存安装包到目标文件,发送到手机端安装即可运行。</li>
<li data-id="ld70c578-qghWST5R">测试设备:如果选择的类型是ios app development 类型,则全部测试设备旁边必须有测试设备并且勾选上,如果没有显示测试设备,点击框框下面的添加测试,然后把测试设备的udid输入,把ios设备连接到当前pc,会自动获得设备的udid。 如果app编译后无法安装到设备,可能是因为设备的udid没有添加进入描述文件,则需要添加描述文件后重新编译。</li>
</ol>
<p data-id="p838747a-anYz7YJp"> </p>
<p data-id="p838747a-J1hWJiq3"> </p>
<p data-id="p838747a-tKquasGr"><strong>方法2.</strong><strong>Xcode上传,这里简单讲下步骤:</strong><strong></strong></p>
<p data-id="p838747a-dtDtp0kc"> </p>
<p data-id="p838747a-Oyir83Xe">构建打包ipa文件</p>
<p data-id="p838747a-DVakHKvv"> </p>
<p data-id="p838747a-OWfym0ix"> </p>
<p data-id="p838747a-Dx9X3ySG">打包成功后,选择具体包版本,点击Distribute App。</p>
<p data-id="p838747a-MOtGvPeT"> </p>
<p data-id="p838747a-qOG6lrqe"> </p>
<p data-id="p838747a-ONY2ohBZ">选择App Store Connect。(Ad Hoc选项代表出包给测试人员测试)</p>
<p data-id="p838747a-NSkazQ86"> </p>
<p data-id="p838747a-BTOd7vWB">点击next,后面几个步骤都点击Next按钮,选项配置不用管都按默认的走。</p>
<p data-id="p838747a-a1O9fP1l"> </p>
<p data-id="p838747a-8YeVOSoQ"> </p>
<p data-id="p838747a-NBErasZs">最后点击Upload,就开始上传了,耐心等待。我大概6分钟就上传成功了(包文件如果大或者网速慢时间相对会比较长)。这是我上传成功的截图:</p>
<p data-id="p838747a-G1q0SDsG"> </p>
<p data-id="p838747a-bftXx9to"> </p>
<p data-id="p838747a-KdYgetDM">上传成功后,登录App Store Connect,进入app详情页面,点击顶部TestFlight,在构建版本中就可以看到你刚上传的版本,状态一般会显示正在处理。</p>
<p data-id="p838747a-KMxJZ9II"> </p>
<p data-id="p838747a-54mMHBLk"> </p>
<p data-id="p838747a-AGz7XFhC">如果等了很久(10分钟左右吧)刷新页面还是没看到上传的构建版本,那么就是ipa包被拒绝了,这时候一般会收到拒绝原因的邮件。我就是这种情况��(包含过时的UIWebView),邮件如下:</p>
<p data-id="p838747a-Z7izrUW9"> </p>
<p data-id="p838747a-7nDxFvHH"> </p>
<p data-id="p838747a-edSJ0dYM">解决问题,重新上传就行了。最终上传构建的app版本状态显示为准备提交才能提交审核,状态从正在处理变为准备提交我等待了20分钟左右,这个时间是不固定的,看具体情况,类似那种几百兆的app,时间就会特别长。</p>
<p data-id="p838747a-YEOwFFls"> </p>
<p data-id="p838747a-CQsQw4nk"> </p>
<p data-id="p838747a-0ScsKatk"> </p>
<p data-id="p838747a-OwgMLHkC">选择APP版本,提交审核</p>
<p data-id="p838747a-Gey4Ij2U">登录App Store Connect,进入App详情页面,找到构建版本,然后选择一个最新提交的构建版本。</p>
<p data-id="p838747a-LtPLZ7Qi"> </p>
<p data-id="p838747a-g7kdUxTT"> </p>
<p data-id="p838747a-2LAeOU96">滑动页面到最顶部,点击存储,然后再点击右边的添加以供审核,确认相关信息后,就提审成功了。</p>
<p data-id="p838747a-4jNSXZXo"> </p>
<p data-id="p838747a-vtZtKnFN"> </p>
<p data-id="p838747a-C7V8OXWf">接下来就是等待审核,苹果审核时间大多集中在晚上凌晨或者第二天早上6-8点, 顺利的话一般2天左右就有审核结果。</p>
<p data-id="p838747a-IqNpPRXv"> </p>
<p data-id="p838747a-qIdVNZ1s">等了2天,“不出意外”,我提交的审核被无情的拒绝了:</p>
<p data-id="p838747a-fenERjpZ"> </p>
<p data-id="p838747a-d7r235r9"> </p>
<p data-id="p838747a-oEAqqxf4">这种情况没办法,只能根据实际情况去进行修改,或者做出必要的解释说明。被拒绝多次也是很常见的,反正耐心的去解决苹果提出的问题,最终都会通过审核的。</p>
<p data-id="p838747a-Hv7PwHzB"> </p>
<p data-id="p838747a-1AH6yJeP"> </p>
<p data-id="p838747a-7Iqo6ifR"> </p>
<p data-id="p838747a-wtEtc5FS">至此,iOS app上架app store流程就结束了。</p>
<p data-id="p838747a-ve5bqhox"> </p>
<p data-id="p838747a-2maI0aZ2"> </p><br><br>
来源:https://www.cnblogs.com/xnyzie/p/16965840.html
頁:
[1]