iOS应用的上架流程

不知不觉开发iOS应用已经有5年+了,近期前同事问我有没有iOS应用上架的相关文章,其实刚接触iOS开发的时候就写过iOS App上线提交流程,没有推荐他使用,因为在2018-06-07苹果的开发者工具系统 iTunes Connect 已变更为 App Store Connect,后台的管理页面进行了全面升级,页面布局发生了很大的改变。所以借着这个机会,也花些时间整理下,把近期苹果更新内容都补上,其实有的时候帮助别人的同时也在帮助自己。言归正传,我们今天介绍iOS应用提交至苹果审核的上架流程。


一、苹果手机安装App的5种方式

1.手机连接苹果电脑,用Xcode开发工具直接运行,即可安装App;

2.开发者用Ad-Hoc证书进行分发测试,目前测试分发平台有蒲公英和fir.im;需要收集用户手机的UDID标识,每个账号只有100个名额进行测试;

3.使用苹果的TestFlight邀请码进行安装测试,需要登录苹果后台增加测试用户的邮箱,测试用户需要在iOS手机客户端下载 TestFlight,然后进入应用输入邮箱里面邀请码进行下载测试。现在提交苹果审核的应用也会同步一份TestFlight进行应用的灰度测试;

4.使用企业版的In-House证书发布,缺点是只允许企业内部用户使用,不允许上线App Store,而且安装还需要证书的授权,优点是应用迭代更新方便,不需要苹果进行审核。但是最近苹果对企业的证书管理越来越严格了,如果有敏感的问题,也会吊销企业的开发者账号所属权;

5.直接导出应用的IPA文件,提交App Store进行审核,所有的苹果手机都可以安装应用。

今天我们主要介绍第五种类型,也是开发人员必须要掌握的。


二、应用上架的后台准备

我们知道开发iOS应用,是需要苹果开发者账号来支撑的,目前苹果开发者账号有 Individual 和 Company/Organization 两种类型。前者每年99美元,可以增加后台应用管理者,无法增加开发者来管理证书;后者每年299美元,既可以增加后台应用管理者,也可以增加开发者来管理证书。今天我们使用普通的个人开发者账号进行描述。

首先登录 苹果开发者官网

开发者官网

点击Account,输入开发者账号的用户名和密码,点击确认按钮,进行登录,这里强调一下苹果登录的安全机制,现在后台登录需要开启双重认证机制,如果用其他人的开发者账号,登录是非常麻烦的,还要别人给你发送验证码,登录成功后会提示你是否信任此浏览器吗?为了下次登录方便,我们还是点击信任,下次只要使用用户名和密码就可验证通过,不过浏览器的缓存时间失效后,还是需要双重认证才能登录。

官网登录

在iOS开发和提交审核的时候要与苹果的后台打交道,涉及到开发证书Certificates、App ID、Devices及描述文件Profiles等相关知识,这里面有复杂的通信原理,涉及到非对称加密、双方的公钥私钥、摘要算法及数字签名等内容,这里不详细说明。

开发证书(Certificates)

iOS 证书分为两类:Development 和 Production(Distribution)。每个证书都有时间限制,一般一年就过期。

iOS App Development 在开发阶段进行真机测试时需要用到的证书。

iOS App Distribution 可以用于进行 Ad-Hoc 测试、打包上传到 App Store 或者打包成 Enterprisee(In-House) 类型供企业内部使用。

那么我们如何申请证书呢,首先点击证书、标识及描述文件连接

证书、应用标识、描述文件

然后我们点击下图的添加按钮,创建一个证书

证书、标识、描述文件列表


创建开发的证书

点击Continue

这里需要一个申请证书,格式为.certSigningRequest 里面包含公钥和私钥及摘要算法等相关内容。

点击mac OS的钥匙串访问里的 证书助理 -> 从证书颁发机构请求证书,最后会创建出一个.certSigningRequest文件,保存到磁盘文件中,后面会用到。

申请证书
保存到本地的申请证书

输入电子邮件,选择存储到磁盘,点击继续,导出保存在磁盘的指定位置。

增加申请证书

点击continue,

下载证书

开发者证书就创建完成了,把它下载到本地,进行双击操作安装,结果会在钥匙串中显示,这里多介绍一句,这个证书创建只能归一个人拥有,如果你的团队伙伴也想用这个证书怎么办,毕竟一个开发者账号创建的证书是有限的,你需要将安装的证书导出p12文件,然后设置密码,分发给其他伙伴,他们输入密码后就可以正常使用了。

导出p12证书

至此开发的证书就创建完毕,发布的证书也等同一样,区别是就在选择证书的时候选择发布就可以了。

App ID

我们知道开发iOS的App,需要一个App的唯一标识Bundle ID,而App ID由 TeamID 和 Bundle ID 组合,表明这个App是独一无二的,现在我们需要手动的创建一个App ID,点击增加按钮

应用标识


应用的配置信息

这里重点说两个内容

1.设置Bundle ID  内容通常以反域名(reverse-domain-name)格式的 Company Identifier(Company ID)作为前缀  例如:com.baidu.map 地图App。

它目前有两种类型

Explicit App ID:唯一的 App ID,用于唯一标识一个应用程序。

Wildcard App ID:含有通配符的 App ID,用于标识一组应用程序。

2.Capabilities: App ID的权限设置  向组应用,开启后台服务,消息推送,内购.....配置好App所需要的权限后点击Continue-->Register 即可完成App ID的创建。

Devices

Devices 就是运行 iOS 系统用于开发调试 App 的设备。每台 Apple 设备使用 UDID (Unique Device Identifier)来唯一标识。

iOS 设备连接 Mac 后,可通过 iTunes->Summary 或者 Xcode->Window->Devices 查看其 UDID。

Apple Member Center 网站个人账号下的 Devices 中包含了注册过的所有可用于开发和测试的设备,普通个人开发账号每年累计最多只能注册100个设备。

设备UDID标识

点击增加按钮,增加用户设备的UDID,方便用户后期进行测试

注册设备名称和标识

输入设备的标识,这里要详情记录用户的别名,方便后期管理和维护,毕竟名额只有100个。输入完设备名称和UDID ,点击Continue,即增加完成。

描述文件(Provisioning Profiles)

Provisioning Profile 文件包含了上述的所有内容:Certificates、App ID 和 Devices。

申请Development描述文件

Provisioning Profile 描述文件

点击增加创建,创建开发的描述文件

创建描述文件

选择iOS App Decelopment描述文件,点击Continue

选择App ID

选择刚刚创建的App ID,继续点击Continue


选择证书

选择刚刚创建的Certificates,如果想下载开发的描述文件就选择开发证书,如果是发布的描述文件,就选择发布即可,继续点击Continue,选择设备ID信息


UDID信息列表

选择Select All,包含所以设备信息,点击Continue

描述文件名称

输入描述文件名称,一般格式为dev+App ID+时间命名即可,方便后期管理文件,文件的有效期为一年,过期后再次创建即可,继续点击General。

下载描述文件

点击Download,下载双击安装即可。

下面我们介绍一下应用如何上传至App Store。

三、App Store Connect管理App的信息

一般先登录开发者后台,选择App Store Connect,去用户管理和访问的页面

App Store Connect

选择用户和访问,再选择我的App,进入我的App管理页面


我的App

新建一个后台的App的描述配置,点击新建 App

新建App


创建App

SKU Number:Stock Keeping Unit,货号。如果你有很多应用,给每一个应用指定一个唯一的货号会方便你管理应用库。你可以用数字或者字母随便指定你的货号。

SKU:一个独特的、不会在 App Store 中显示的 App ID。自己可以自己定义。有人认为SKU主要去区分自己账户下边不同的APP。

不过还是建议使用项目中的Xcode中的 Bundle Identifier。

输入平台、App的主要语言、套件ID就是应用的Bundle ID、SKU、用户访问权限控制,点击创建即可。

查看App的相关信息,可以编辑后台管理的App名称

app后台的信息

点击iOS App导航的栏目,上传应用的截图,方便在App Store中查看。

上传app预览和快照


输入宣传文本,介绍App在当前版本更新的内容是什么,描述是介绍App是干什么的,有什么用途,关键词是便于用户能搜索到。


App基本信息


这里最重要的就是构建版本,就是你开发的应用,用Xcode导出的IPA文件,最终要提交到App Store中,在构建版本中出现+号后,即有可构建的版本,那么你的应用上架流程就快接近尾声了。

构建版本


四、如何构建iOS应用的IPA文件

如何将打包好的IPA文件提交至App Store中审核,这里需要一个重要的苹果开发工具,Xcode,假设你现在已经有开发完成的App项目,本地的Bundle ID配置也是对的,工具栏中我们选择Generic iOS Device,这里我们就不需要连接真机进行构建了。然后点击Product,选择Archive开始构建发布版本。

构建打包App

构建成功后,会弹出如下窗口:选择刚刚构建成功的应用,选择Distribute App按钮

Archives列表

选择iOS App Store,点击Next

iOS App Store

选择Export导出,继续点击Next

Export

下面有两种签名,一个是自动签名,另一个是手动签名,本地只要有证书,就可以选择自动签名,系统工具会帮你创建描述文件进行签名,如果是手动签名,需要本地有证书和描述文件,需要手动选择即可。


手动签名


选择对应的证书和描述文件,点击Next

选择证书和描述文件


描述了相关的信息,点击Export,即可导出对应App的IPA文件到指定的目录。

导出IPA

至此iOS的App的IPA文件我们就导出来了,是经过签名的,那么我们如何将应用文件提交至苹果审核呢?其实需要使用Xcode自带Applocation Loader工具。


五、Applocation Loader提交IPA文件至App Store审核


打开Application Loader

需要手动的输入开发者账号的用户名和密码,这里强调一个事情,即使你的账号和密码输入正确,苹果还让你用签名的密码去登录,那密码怎么签名呢,下面慢慢介绍。

appid和密码登录

需要我们到Apple ID的官网登录,使用Apple ID和密码进行登录,而且还要双重认证,这个安全验证也是最近苹果才更新的,感觉确实麻烦。

去appleid官网登录

登录成功后,查看安全,点击App 专用密码的生成密码,将生成的密码复制到Applocation Loader的登录页面进行登录即可。

生成专用密码


选择刚刚导出的IPA文件进行上传,后面点击下一步,至最后提交到App Store中即可。

上传IAP

提交成功后,一般要等10分钟左右,苹果机器检查完后,结果会用邮件进行通知,如果成功了,你就可以去开发者后台管理页面,上传构建成功的版本,点击发布就行了。到这里整个的上线App的上架流程就介绍完了,其实内容还是比较多的。

最后我们在总结回顾一下核心内容

1.苹果手机安装App的五种方式;

2.介绍证书、App ID、Devices及Profiles的相关内容;

3.App Store Connect后台管理App的信息;

4.将iOS应用导出IAP文件;

5.将应用的IPA文件提交到App Store中进行审核。

如果大家有什么问题也可留言,我会抽时间与你们一起讨论,大家相互学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容