前言
- 基于本人对苹果的开发流程的渴望。所以很多东西一旦自己经历了,或者是别人经常会用到的时候,我就喜欢研究。并将自己以及别人的心得记录下来,方便自己及他人学习。
- 本篇,我将按照自己的思路对iOS应用上架整体流程进行讲解,本文也是iOS证书申请、开发、打包、排查等系列教学中的一部分,欢迎各位朋友扩展学习。
博文回顾
在前面我完善了我的iOS开发者证书的那些事文章,开篇就讲到了关于发布时的必备条件,在这里我就不再累赘。直接进入本文主题。
上架前准备工作
我们需要事先完成这几个步骤,确保接下来的工作能够顺利进行。Boss才会对我们的工作表示认可
1、注册App ID(应用ID)
App ID
是识别不同应用程序的唯一标示符。每个App都需要一个App ID
或者App标识。目前有两种类型的App标识:一个是精确的App ID
(explicit App ID),一个是通配符App ID
(wildcard App ID)。 使用通配符的App ID
可以用来构建和安装多个程序。尽管通配符App ID
非常方便,但是一个精确的App ID
也是需要的,尤其是当App使用iCloud或者使用其他iOS功能的时候,比如Game Center、Push Notifications或者IAP。关于如何创建App ID
,苹果官方有相关的文档说明注册App IDs
2、创建Distribution Certificate(发布证书)
发布证书,也是根证书。它是所有应用发布的基础,当你创建过一次根证书之后,就不需再创建。创建的过程我以前的文章有提及过开发证书的创建,发布证书的创建过程类似。iOS开发者证书的那些事
3、创建商店Provisioning Profile(商店描述文件)
和开发期间使用的开发描述文件类似,我们 App 上架到 AppStore 的时候也需要创建一个对应的描述文件,不过有一点不同的是,该类型的描述文件不需要选择任何设备就能创建。创建过程也非常简单,可参考开发描述文件的创建过程。
4、Build Settings(生成设置)
我们需要在工程中进行相应的配置,才能提交到 AppStore。对Code Signing
中的Code Signing Identity
和Provisioning Profile
两项进行配置。
5、Deployment Target(部署目标)
非常有必要说下deployment target,Xcode中每个target都有一个deployment target,它指出app可以运行的最低操作系统。不过,一旦应用在App Store中生效,再去修改deployment target,你要考虑到一定后果。如果你在更新app的时候提高了deployment target,但是已经购买应用的用户并没有遇到新的deployment target,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes(不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。
对此有两个方法:
- 当你决定提高现有app的deployment target时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。
- 对于一款新app,我经常会把deployment target设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deployment target会失去大部分市场,这个说法并不准确,比如iOS 6,iOS 6发布后一个月,超过60%的设备已经进行了更新。但对Android而言,就是另外一回事了,Android用户并不会像iOS用户那样热衷于更新操作系统版本。
iTunes Connect
- 在提交App之前,我们需要进入到iTunes Connect里面创建我们的App记录。
- 然后点击界面左上角的
+
号,选择新建App
- 填写应用相关信息-
Metadata
(元数据)
其中SKU Number
是一个唯一标识你的app的特殊字符串。应用发布之后就不能修改,可以使用app的Bundle ID
。
之后的操作就不用介绍了,因为都是一些基本的信息设置。你只需要按提示一步一步完成设置即可。添加成功之后,应用的状态会显示Prepare for Upload
(准备提交)。
接下来,在构建版本
栏目下,我们看到苹果提示我们使用Xcode或者Application Loader
提交我们的构建版本。此时我们就可以进行上传二进制文件了。上传之后在该栏目下就会有我们上传的二进制文件供选择,选择对应的文件之后就可以点击右上角的提交以供审核
按钮,此时应用的状态会变成Waiting For Review
(等待审核)
上传二进制文件
苹果提供两种方式进行提交,一种是直接通过Xcode打包提交,另一种是通过Xcode自带工具Application Loader
进行提交。我比较喜欢第二种,因为可以看到上传进度。更加人性化。关于上传方式,我这边不做展开,提供给大家一个学习资料。有任何疑问欢迎留言提出
方式一:使用 Xcode 上传
我在iOS开发企业版ipa分发(In-House模式)记录一文中有讲到使用Xcode打包步骤,不过里面的少许步骤不一样而已。这里就不做详细说明。如果有什么不懂可以参阅上传你的App。
方式二:使用 Application Loader 上传
有关详细信息,请参阅Using Application Loader。
知识扩展
1、我们在进行版本更新的时候,App图标、名字、描述、新版本描述、关键词、支持URL、截图、联系方式、Review Notes(审核备注)均可以更改
2、Review Notes(审核备注)中,包括如下信息:
- 名字、姓氏、电子邮件地址、电话号码(都是必需)
在 app 审核团队有任何疑问或需要了解其他信息时应联系的您组织中人员的联系人信息。
- 审核注释(可选)
有助于审核团队实施审核过程的 app 其他信息。添加测试 app 可能需要的信息,如 app 专用设置、测试注册或帐户详细信息。“Review Notes”(审核备注)字段的大小上限为 4000 字节,并可本地化为任何语言版本。如果您的 app 通过蜂窝数据网络传输流媒体视频,则在“Review Notes”(审核备注)中输入测试视频流 URL。此文本仅对 Apple 审核团队可见。
- 用户名(可选)
拥有完整访问权限的演示帐户的用户名。此帐户在 app 审核过程中使用,不能是过期帐户。应在“Review Notes”(审核备注)字段中添加其他帐户的详细信息。
- 密码(可选)
拥有完整访问权限的演示帐户的密码。
微博: @Danny_吕昌辉
博客: SuperDanny