iOS 上架流程
这篇博客大家的关键点放在上架需要哪些材料上面,具体的步骤大家理解下就可以了,因为官网随时会变更,这篇博客也没办法实时更新,由于我个人没有开发者账号,用公司账号演示的话担心会泄密,因此这篇文章用了比较多的网络图片,在此也谢谢原作者。OK,我们进入正文:
1.Apple开发者证书类型
如果你是刚开始接触iOS可能会很疑惑:到底哪种开发者账号服务适合我们?有时候我们会有种假象就是在不明白要什么东西的时候,买同类中最贵的一定是最全的,但是我们要知道最贵的苹果的企业账号是不能发布到AppStore的,到底哪种是我们真正需要的大家在购买前建议大家看下苹果官网中关于每种服务的介绍,下图是各个账号所提供的服务,这里简单做个总结:
苹果对开发者主要分为4类:免费个人,个人开发者、组织(公司、企业)、教育机构,其中组织又分为公司和企业,下面一一介绍他们的区别:
- 免费个人
如果只是个人学习使用,我们可以不用购买任何账号服务,只要有一个Apple ID,我们就可以下载Xcode,文档,样例代码,并且在真机上测试,但是每个手机上安装的测试应用是有限制的,这种归于免费个人用户,免费个人如何使用真机调试,具体可以参照该文章:Xcode 10 无开发者账号真机调试。
- 个人开发者
个人开发者账号每年要缴纳99美元,一般我们如果想自己开发应用并上传AppStore的话只需要个人开发者账号就可以了,它的限制在于协作人员只限制1人,最大UUID支持数只有100,也就是说只有100个机器可以添加到设备白名单中,一般来说够用了。
- 公司账户
公司账户费用和个人开发者一样也是99美元,并且支持上传AppStore上架,也有最大UUID数100的限制,但是它的好处是可以支持多人协作,比个人开发者账户多一些帐号管理的设置,可设置多个Apple ID。但是比个人开发者证书申请过程麻烦在:需要填写公司的邓白氏编码(DUNS Number),个人开发者可以申请升级到公司账户。
- 企业账户
这个是最初让我搞混的一个概念,最早以为要上架只有企业账户才有权限,为啥?因为贵啊,但是恰恰是这种证书不能支持AppStore上架,它的价格是每年299美元,它的好处是最大UUID支持数不受限制,所以一般适用于企业内部应用使用,也可以支持多人协作开发。和公司账户类似的是它也需要填写公司的邓白氏编码(DUNS Number)
- 教育机构
只能教育机构或学院内部使用。必须是苹果iOS开发者计划授权机构。不能对外正式发布iOS应用程序。价格也是免费的。
所以如果只是个人学习的话申请免费个人账户就可以了,如果要自己个人开发应用,并且没有成立公司的独立开发者,可以申请个人开发者,公司开发的应用一般需要使用公司账户,如果开发一些不提供给外部使用,只限制在公司内部的应用,则使用企业账户,如果某些学校内部的应用,并且通过了iOS开发者计划授权的,可以使用教育机构账户。
2.注册成为Apple开发者
2.1 注册Apple ID
Apple ID申请的过程还是蛮简单的,只需要在上面的页面上填写姓名,国家地区,出生日期,邮箱,密码,三个安全提示,联系电话,验证方式等,这时候就会收到验证信息,通过验证就可以成功获得你的Apple ID了。
这里需要注意的是注册Apple Id的邮箱必须是企业邮箱,并且与公司网站的域名保持一致,比如公司网站为abc.com那么公司邮箱就必须长成xxxxxx@abc.com。还有公司开发者账号与企业开发者账号不能共用同一个Apple id。
2.2 申请邓白氏码
这里需要注意的是不要直接去邓白氏公司直接申请,因为这种途径是需要交钱的,而通过上面的地址申请是免费的。
上面Your Contact Information一栏中的邮箱填成个人的,后续的邮件将会发送到这个邮箱上,并且确保手机号码是正确,这个很重要。
如果申请成功就会在你留的个人邮箱上收到*D-U-N-S Number Request/Update Confirmation**邮件,上面会有一个DUNS码请求ID,以及需要在什么时间之前完成申请工作,这个只是请求码而不是邓白氏码,这个用于后续的沟通。
Thank you for submitting your D-U-N-S Number request / update to D&B. It should be completed by xx/xx/xxxx, or sooner. |
收到上述的邮件后还需要等待,邓白氏公司发邮件让我们提供公司的资料:
这一步需要注意如下几点:
* 营业执行公章最好提供原件的照片 |
材料提供完后就耐心等待,这时候邓白氏公司就会有人与你留下的苹果联系人联系,核对信息,通过后就会收到申请成功的邓白氏码邮件,这里还需要注意的是不能心急,收到邓白氏码后立刻去申请苹果开发者账号,因为这部分信息同步到苹果公司数据库还需要一定时间,否则在苹果数据库更新完成之前申请失败超过3次,就需要重新申请邓白氏码,这个时间在邮件上面已经写明白了是14天,一般都会等上20天后去尝试。
2.3 开发者证书申请
这个阶段需要注意如下几点:
- 切记一定要等到邓白氏码在苹果网站上生效后去注册
- 填写申请开发者账号的选项的时候最好选择第二项–公司授权,当然如果是自己公司那就选择第一项,还需要注意的是,这里的联系方式也要写对公司情况比较了解的人的信息,因为苹果审核的时候会和这个联系人联系,不要一问三不知。
等到收到下图邮件的时候就可以支付费用了,这里仅支持Visa卡和万事达卡支付,同时支持开普通发票。
支付完就完成开发者证书的申请了。
3.开发过程需要的证书申请
首先我们必须明确到底需要哪些材料:
开发者证书 (iOS Development 开发者证书,iOS Distribution 发布证书)这个用于证明自己开发者身份的,是一个最基础的证书。
AppID用于标示一个应用,这个AppId绑定了系列的应用信息以及这个应用开通的各个服务,比如常见的应用都会开通Push服务。
推送证书 一般应用都会开通Push服务,推送证书一般也会有两种,一种是开发环境推送证书(APNs Development iOS),一种是正式环境推送证书(APNs Distribution iOS).
Provisioning Profiles 简称PP证书,该文件将上面的AppID,开发者证书,硬件设备信息,绑定到一块,可以在开发者中心配置好后添加到Xcode,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP证书中添加真机的UDID.
3.1 创建开发者证书
使用已经开通了Apple开发者服务的账号登录苹果官网,进入Certificates, Identifiers & Profiles,我们需要的证书,AppID,PP证书都是在这个地方生成的。
如下图所示选择iOS, tvOS, watchOS –> 选择All –> 点击右上角新添加证书
然后会让我们选择是开发证书还是生产证书,开发证书用于我们日常开发使用,而生产证书用于我们往AppStore中上传App时使用。
接下来创建CSR(证书签名请求文件)这个是证书申请者在申请数字证书的时候由加密服务提供者在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用它的根证书私钥签名就可以生成证书公钥文件也就是颁发给用户的证书。
下面是在Mac系统上生成CSR文件的过程:点击钥匙串访问 -> 证书助理 ->从证书颁发机构请求证书.
上传CSR文件
下载经过签名的发布证书,同理可以创建开发者证书
运行之后,在钥匙串里生成证书,确保证书有效.
如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了,这时候可以有两种方式,一种比较直接:从现有的证书中选择一个删除,但是这个需要注意的是如果删除一个证书,那么正在使用这个证书的人将不能再继续使用了。
还有一种方式是使用P12证书。
双击安装证书后,打开钥匙串访问,选择安装的证书右键单击
选中导出证书:
将证书存储为.p12形式:
可以为该证书设置密码这样会比较安全点,别人在安装这个证书的时候就需要输入密码。
如果需要在其它电脑上发布App,那么就必须要安装这个发布证书。
3.2 创建APPID
点击App IDs,点击”+”号.
填写应用描述和Bundle ID,如果后续修改了工程里面的Bundle Identifier的话,需要重新进入到开发者账号里面绑定。
选择开通的服务,默认开通了游戏中心和内购服务
3.3 创建推送证书
如果选中开通推送服务还需要完成如下配置:
3.4 创建PP证书
PP描述文件是描述哪台电脑能对指定Bundle Identifier的工程进行打包测试或发布。
4.在AppStore创建应用
或者在开发者中心选中iTunes Connect进入:
输入账号密码:
选择我的App
点击左上角的➕
选择平台,名称,主要语言套装ID以及SKU其中SKU和套装ID建议都填Bundle Id
选择应用类别和次要类别
如果要收费的应用要继续填写价格、销售范围、批量购买计划.
选择上传3.5寸、4寸、4.7寸、5.5寸预览图片,每个尺寸都要至少3张.
填写应用描述和关键词
上传1024 * 1024尺寸的应用图标,填写版权信息和用户等级,以及审核信息
5.使用证书打包上传AppStore提交审核
在进行打包的之前需要找到刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击安装,如果已经安装过就不用执行该操作了。
这里仅仅介绍使用Xcode打包应用的过程,一般公司应用都会使用自动构建系统来打包,这个放在后续介绍。
首先在上传给苹果公司审核之前我们需要事先对照 App Store 审核指南过一遍,避免因为某些低级错误导致审核不通过,第一个版本审核一般时间都比较长,腾讯还推出了iOS预审服务,有需要的可以使用这些三方服务来提高审核通过的概率。但是一般来说第一次会比较久,并且如果有内购功能会更久,后续版本会快很多,当然也有很多旁门左道,大家可以到网上去搜索,这里就不公开了,一般为了保守起见预留个 15~20天是比较靠谱的,但是一般第一个版本7-10天基本上都会过,后续更新的话3-4天就会通过。当然有些是苹果审核人员误解了,我们可以积极得和苹果审核人员进行沟通。
好了我们开始介绍打包上传到AppStore并提交审核的过程:
进入AS后台会有提示可以使用Xcode打包或者通过构建系统打成ipa包后通过Application Loader上传,一般推荐后一种。
在打包之前需要检查下一些内容:
- 设备需要选择Generic iOS Device.
- 检查横竖屏支持情况
- 检查发布版本以及构建号
- iOS最低可运行的版本
- 应用支持设备类型
- 签名证书
把Run、Test、Profile、Analyze、Archive中的Build Configuration全部改为Release.之后Close. Control + B 开始构建应用。
编译成功,选择Product -> Archive.进行打包,在进行上传之前最好建议先点击验证,避免因为版本等问题上传过程中失败,这样会更节省时间
当然还可以使用Application Loader上传,这种方式主要分成两步:
- 导出ipa包
- 通过Application Loader上传
如果没有Mac的话还可以使用跨平台的APP开发助手,可能你会疑惑,开发苹果应用的居然没有Mac不可能啊,但是你要想啊,一般这些上传工作不一定是开发上传的哈,往往这些都是由产品或者项目管理者负责上传的,并且AS账号也是他们管理的。
上传到AS后就可以在后台看到刚刚上传的应用了,这时候点击提交以供审核就OK了。