iOS应用上架App Store流程解析

Posted by 易博 on June 2, 2017

一直以来,将自己开发的应用程序上架到苹果爸爸的App Store是iOS开发者又爱又恨的事情。爱,是因为上架之后的成就感,恨,是因为上架过程中的不断爬坑。一般来说,只要开发者的App不违反苹果的上架协议,一次通过的概率还是很高的,而且苹果的审核团队现在狠狠的提高了审核效率,最快在12小时内就会有审核结果。好了,废话不多说了,开始正文

Developer Center配置

要将自己开发的应用上架到App Store,首先需要一个能上架应用的开发者账号。申请企业开发者账号之前需要申请一个邓白氏编码,相当于一个企业的唯一编码,然后拿邓白氏编码再去申请开发者计划。这些申请一般不会有什么太大问题,按照苹果开发者中心的步骤一步一步来即可。如果是个人开发者,可以不用申请邓白氏编码

申请好开发者账号之后,登录苹果的开发者首页

点击网站右上角的”Account”进入开发者中心

进入开发者中心后,我们需要用到的就是下面红框中的两个

1. Certificates, IDs & Profiles--主要负责证书和描述文件的管理。本篇本文章主要讲述的内容。
2. iTunes Connect--上架应用的管理工具。接下来的系列文章中会讲述

一、 创建开发者发布证书(Certificates)

点击左侧菜单栏的Production,在加载的页面上,点击右上角的”+”,然后选择右侧的App Store and Ad Hoc

接下来,会要求创建一个CSR文件。同样按照给出的提示,创建好CSR文件,此文件务必保留好,后面还会多次用到

打开钥匙串,依次点击菜单栏的”钥匙串访问”->”证书助理”->”从证书颁发机构请求证书”

接下来按照要求填写证书信息。用户电子邮件地址就填写开发者账号的邮箱地址。常用名称可以随意填,此名称为证书的名称。CA电子邮件地址不填。下面的单选勾选为”存储到磁盘”。复选框不勾选。

上传刚创建的CSR文件,点击下一步就会创建好开发者发布证书,证书有效期一年。下载创建好的发布证书,双击添加到钥匙串中。如果之前已经创建过发布证书,此处可记住证书到期日期,后面会用到

二、创建应用的标识(IDs)

点击左侧菜单的App IDs,在加载的页面上,点击右上角的”+”,新建一个(Explicit App ID)应用标识

1. Name为此应用标识的名称,可以根据实际情况命名
2. Bundle ID为应用程序的唯一标识,这个在Xcode的工程配置中会要用到,一般采取倒域名的方式命名
3. App Services为这个应用需要用到哪些服务,默认选中的可以不用管,大部分App只会涉及到消息推送,勾选Push Notification即可

点击下一页会出现一个概览的页面,告知这个应用将会提供的服务。点击”Register”完成即可

完成后会回到已经创建的应用ID列表,点击刚才新建的应用标识,展开后点击最下方的”Edit”按钮进入编辑页,来创建消息推送证书。

如果上一步没有勾选消息推送则可以忽略这个步骤。创建消息推送证书同样会要求上传CSR文件,就直接选中之前保存的CSR文件即可。创建完后即可在Production的列表中看到创建好的推送证书。选择创建好的推送证书,下载后双击添加到钥匙串

三、创建描述文件,又名授权文件(Profiles)

点击左侧菜单栏的Distribution,在加载的页面上,点击右上角的”+”,然后选择右侧的App Store

选择之前创建好的App ID

选择要关联的发布证书,如果有多个,请根据创建时记住的到期时间选择

填写描述文件名称,然后点击下一步即可完成。下载描述文件到本地,双击用Xcode打开,看到闪一下即可。

至此,开发者中心的所有操作步骤已经完成。

Xcode配置

一、证书和描述文件

将上篇文章中的开发者账号配置到Xcode中。打开xcode,依次点击菜单栏的”Xcode”->”Preferences…“。选择Accounts页签,添加Apple ID

在工程的General中,配置正确的Boundle ID和描述文件

在工程的Capabilities中,打开消息推送功能的开关,必须出现两个勾才表示成功

在工程的Build Setting中,增加arm64的支持。目前苹果要求所有上架的应用必须支持arm64架构

如果Xcode版本在8.0以上,还必须在info-plist文件中增加访问权限的描述。相册、相机、麦克风最好全部加上,其余的不做要求,不然后面上传编译包不会通过

二、App Icon和LaunchImage

在工程的Assets.xcassets中创建应用的Icon和LaunchImage集合

要求美工按照苹果的设计要求,出对应分辨率的Icon和LaunchImage资源。图片资源可根据app的实际应用场景添加,不一定需要全部添加

在工程的General中,配置正确的Icon和LaunchImage,选择LaunchImage后记得将下方的Launch Screen File设置为空

三、上传编译包到iTunes Connect

此步骤需要在iTunes Connect中创建好应用的基本信息之后才能完成,这个涉及到了接下来部分的内容,之所以放在此处,是为了本篇文章的连续性

至此,如果工程编译没有问题,就可以提交到iTunes Connect了。跟正常的打包没什么太大区别。打开工程后菜单栏依次选择”Project”->”Archive”。

点击右侧的”Upload to App Store…”

接下来就是选择对应的开发者账号和描述文件

如果提示上传成功,那xcode的部分就结束了。如果上传过程中报错,可以将返回的错误码和错误信息记录下来,去谷歌搜索解决方法,直到提交成功为止。后面也专门开了一个问题及解决方法介绍的页面,会陆续补充,欢迎大家提供信息

上传时最好是翻到墙外,这样速度比较快,不翻墙你将会享受到无尽的折腾

iTunes Connect配置

接下来部分主要介绍的是iTunes Connect的使用。在iTunes Connect中创建app的过程中需要的元数据说明,已经在这篇文章中说过,务必提前准备好

一、新建app并设置基本信息

登录iTunes Connect首页,点击”我的App”进入

点击左上角的”+”,选择新建app

按照要求填写基本信息,不明白填什么的,可以点击对应空白标题后的”?”查看说明。SKU一般与Boundle ID保持一致。名称是在App Store上显示的名称,为了避免重名,一般采用”应用名称+简短介绍”的格式。如第二篇文章介绍,填写完基本信息创建成功后就可以到xcode中去上传编译包了。

上传的编译包如果通过了检查,那么在活动页签中将会看到上传的编译包,这样才能进行下面的上架步骤。如果检查没有通过,苹果会给你发邮件说明原因

设置应用的类别,可以设置主类别和次类别

设置销售价格和Bitcode自动编译,我这里设置的价格是免费。Bitcode自动编译的复选框一般不勾选,除非真有这样的需求

二、准备提交

添加屏幕快照图片,用于在App Store显示。只需要准备最多不超过5张的5.5英寸分辨率的屏幕快照,其他尺寸现在已经可以自适应了

填写app的其他信息

选择构建版本。如果之前的编译包通过了没有问题,那么在这里会显示一个”+”的符号,点击之后可以选择对应的构建版本来上架

至此,存储此页面的信息之后就可以选择提交审核了。提交审核之后,你能做的除了等待还是等待

为了保障审核的速度,建议在提交前尽可能的多测试,不要出现很明显的bug