iOS帮客户打包App上架的正确姿势

2019-02-14 18:11:36 浏览数 (1)

适用情况:

帮客户开发的App,要以客户名义(客户开发者账号)上架,但是客户又不提供账号密码,然后也不能在iTunes Connect邀请你作为开发者。

整体的流程,大概如下

  • 双方定义好App ID(也就是Xcode中的Bundle Identifer——那个反向域名字符串);
  • 客户提供对应的证书和文件;
  • 开发者用对应的证书和文件,打包成ipa文件发给客户;
  • 客户自行上传ipa文件,并进行其他必要操作,完成上架。

让客户提供必要的证书和文件

这里需要客户提供的证书和文件,具体指

  • 产品证书/Production Certificate(App Store and Ad Hoc类型),同时要提供证书的安装密码。(备注:此证书生成后,类型显示的是「iOS Distribution」,所以也有人叫发布证书)
  • Provisioning Profile文件(也有叫「描述文件」、「PP文件」的)(备注:Provisioning Profile中的App ID,是你们之前协商好的App ID)。

开发者打包ipa文件

拿到证书和文件后,都进行双击安装,安装证书时需要输入密码。Provisioning Profile则不会有任何反应。

1 打开项目:在TARGETS > General中选择对应的选项,如下图:

选择正确的Provisioning Profile

2 点击:Product > Archive

备注:如果是灰色不可点击。模拟器下拉框,选择真机或Generic iOS Device

3 Archive完毕后,导出ipa文件

3.1 选择「Save for iOS App Store Deployment」,如下图:

Save for iOS App Store Deployment

3.2 Development Team选择Use local signing assets,如下图:

Use local signing assets

3.3 正式导出ipa文件,如下图:

Export

最后,把打包出来的ipa文件,发给客户上传到App Store就好了。

这中途遇到的坑还是有几个的,比如App ID和Bundle Identifer不一致,客户打包的Provisioning Profile中选择的产品证书(发布证书)和提供给你的产品证书(发布证书)不一致……

而其中有个坑估计每个人都会踩到的:开发者导出ipa文件所用的Xcode版本,如果和客户上传ipa文件所用的Xcode版本不一致,会报如下错误:

Error

解决办法:打包ipa文件和上传ipa文件时,保持两边Xcode版本一致。

Done, have fun.

0 人点赞