iOS 证书调试和发布问题的剖析

一、成员介绍
1. Certification(证书)
证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:
1) Developer Certification(开发证书)
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;
2) Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)

2. Provisioning Profile(授权文件)
授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:
1) Developer Provisioning Profile(开发授权文件)
在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。
2) Distribution Provisioning Profile(发布授权文件)
在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。
3. Keychain(开发密钥)
安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

iOS 开发和部署过程概述

下表提供了 iOS 开发过程步骤的快速列表、如何获得必需的证书以及每个步骤的先决条件。

有关其中每个步骤的详细信息,请参阅构建、调试或部署 iOS 应用程序前的准备工作。

步骤编号

步骤

位置

先决条件

1.

加入 Apple 开发者计划。

Apple Developer 站点

2.

注册 iOS 设备的唯一设备标识符 (UDID)。

iOS 配置门户

Apple 开发者 ID(第 1 步)

3.

生成证书签名请求 (CSR) 文件 (*.certSigningRequest)。

在 Mac OS 中,使用 Keychain Access 程序
在 Windows 中,使用 OpenSSL

4.

生成 iOS 开发者/分发证书 (*.cer)。

iOS 配置门户

Apple 开发者 ID(第 1 步)
CSR 文件(第 3 步)
5.

将 iOS 开发者/分发证书转换为 P12 格式。

(发布后APPSTORE用这个来识别你是哪个公司或个人,

包含开发和发行两种版本)

在 Mac OS 中,使用 Keychain Access 程序
在 Windows 中,使用 OpenSSL
Apple 开发者 ID(第 1 步)
iOS 开发者/分发证书(第 4 步)
6.

生成应用程序 ID。(标示两个不同的应用)

iOS 配置门户

Apple 开发者 ID(第 1 步)

7.

生成配置概要文件 (*.mobileprovision)包含一组数据

信息,它能够将开发人员和设备与经过认可的 iOS 开

发团队绑定在一起,并且能够启用用于测试的设备它

包含一组 iOS 开发证书、若干设备 ID和一个应用程序

ID,并且它必须安装于你希望运行你的应用程序的每

个设备上另一方面,发行配置文件可能包含设备数据

信息,它依据你是否希望为特定设备的特别发行或通

过 Apple App Store 创建应用程序包。Apple 只接受采

用 App Store 发行配置文件创建的应用程序,但采用

App Store 配置文件创建的

iOS 配置门户

Apple 开发者 ID(第 1 步)
iOS 设备的 UDID(第 2 步)
应用程序 ID(第 6 步)
8.

构建应用程序。

Flash Builder

Apple 开发者 ID(第 1 步)
P12 开发者/分发证书(第 5 步)
应用程序 ID(第 6 步)
9.

部署应用程序。

iTunes

配置概要文件(第 7 步)
应用程序包(第 8 步)

构建、调试或部署 iOS 应用程序前的准备工作

在使用 Flash Builder 构建 iOS 应用程序并将该应用程序部署在 iOS 设备上或提交到 Apple App Store 之前,请执行以下步骤:

加入 Apple iOS 开发者计划。
您可以使用现有的 Apple ID 登录或创建一个 Apple ID。Apple 开发者注册向导将指导您完成必要的步骤。
注册设备的唯一设备标识符 (UDID)。
仅在您将应用程序部署到 iOS 设备而不是 Apple App Store 中时,该步骤才适用。如果您要在多个 iOS 设备上部署应用程序,请注册每个设备的 UDID。
获得 iOS 设备的 UDID
将 iOS 设备连接到开发计算机并启动 iTunes。连接的 iOS 设备将显示在 iTunes 中的“设备”部分下。
单击设备名称显示 iOS 设备的摘要。
在“摘要”选项卡中,单击“序列号”可显示 iOS 设备的包含 40 个字符的 UDID。
您可以使用键盘快捷键 Ctrl+C (Windows) 或 Cmd+C (Mac) 从 iTunes 复制该 UDID。
注册设备的 UDID
使用 Apple ID 登录 iOS 配置门户并注册该设备的 UDID。
生成证书签名请求 (CSR) 文件 (*.certSigningRequest)。
将生成 CSR 以获得 iOS 开发者/分发证书。可以通过使用 Mac 上的 Keychain Access 或 Windows 上的 OpenSSL 生成 CSR。生成 CSR 时,只需提供用户名和电子邮件地址;无需提供有关应用程序或设备的任何信息。
生成 CSR 会创建公钥、私钥以及 *.certSigningRequest 文件。公钥包含在 CSR 中,私钥用于为请求签名。
有关生成 CSR 的更多信息,请参阅生成证书签名请求。
根据需要生成 iOS 开发者证书或 iOS 分发证书 (*.cer)。
注: 要将应用程序部署到设备中,需要开发者证书。要将应用程序部署到 Apple App Store 中,需要分发证书。
生成 iOS 开发者证书
使用 Apple ID 登录 iOS 配置门户,然后选择“开发”选项卡。
单击“请求证书”,然后浏览至您在计算机上生成并保存(第 3 步)的 CSR 文件。
选中 CSR 文件并单击“提交”。
在“证书”页面中,单击“下载”。
保存已下载文件 (*.developer_identity.cer)。
生成 iOS 分发证书
使用 Apple ID 登录 iOS 配置门户,然后选择“分发”选项卡
单击“请求证书”,然后浏览至您在计算机上生成并保存(第 3 步)的 CSR 文件。
选中 CSR 文件并单击“提交”。
在“证书”页面中,单击“下载”。
保存已下载文件 (*.distribution_identity.cer)。
将 iOS 开发者证书或 iOS 分发证书转换为 P12 文件格式 (*.p12)。
将 iOS 开发者证书或 iOS 分发证书转换为 P12 格式以便 Flash Builder 可以为 iOS 应用程序进行数字签名。转换为 P12 格式将使 iOS 开发者/分发证书与关联的私钥组合在一个文件中。
注: 如果您使用 AIR Debug Launcher (ADL) 测试桌面上的应用程序,则无需将 iOS 开发者/分发证书转换为 P12 格式。
使用 Mac 上的 Keychain Access 或 Windows 上的 OpenSSL 生成个人信息交换 (*.p12) 文件。有关更多信息,请参阅将开发人员证书转换为 P12 文件。
通过执行下列操作生成应用程序 ID:
使用 Apple ID 登录 iOS 配置门户。
转至“应用程序 ID”页面,然后单击“新建应用程序 ID”。
在“管理”选项卡中,输入应用程序的说明,生成新的捆绑种子 ID,然后输入捆绑标识符。
每个应用程序都有一个唯一的应用程序 ID,您可以在应用程序描述符 XML 文件中指定该 ID。应用程序 ID 包含一个 Apple 提供的 10 字符“捆绑种子 ID”和一个您指定的“捆绑标识符”后缀。您指定的“捆绑标识符”必须与应用程序描述符文件中的应用程序 ID 匹配。例如,如果应用程序 ID 是 com.myDomain.*,则应用程序描述符文件中的 ID 必须以 com.myDomain 开始。
重要说明: 通配符捆绑标识符有助于开发和测试 iOS 应用程序,但不能用于将应用程序部署到 Apple App Store。
生成开发者配置概要文件或分发配置概要文件 (*.mobileprovision)。
注: 要将应用程序部署到设备中,需要开发者配置概要文件。要将应用程序部署到 Apple App Store 中,需要分发配置概要文件。使用分发配置概要文件为应用程序签名。
生成开发者配置概要文件
使用 Apple ID 登录 iOS 配置门户。
转至“证书”>“配置”,然后单击“新建概要文件”。
输入概要文件名称,选择 iOS 开发者证书、应用程序 ID 以及要在其中安装应用程序的 UDID。
单击“提交”。
下载生成的开发者配置概要文件 (*.mobileprovision) 并将其保存在计算机上。
生成分发配置概要文件
使用 Apple ID 登录 iOS 配置门户。
转至“证书”>“配置”,然后单击“新建概要文件”。
输入概要文件名称,选择 iOS 分发证书和应用程序 ID。如果您要在部署之前测试应用程序,请指定要在其中执行测试的设备的 UDID。
单击“提交”。
下载生成的配置概要文件 (*.mobileprovision) 并将其保存在计算机上。
在测试、调试或安装 iOS 应用程序时选择的文件

要运行、调试或安装在 iOS 设备上测试的应用程序,请在“运行/调试配置”对话框中选择以下文件:

P12 格式的 iOS 开发者证书(第 5 步)
包含应用程序 ID 的应用程序描述符 XML 文件(第 6 步)
开发者配置概要文件(第 7 步)
有关更多信息,请参阅在 Apple iOS 设备上调试应用程序和在 Apple iOS 设备上安装应用程序。

将应用程序部署到 Apple App Store 时选择的文件

要将应用程序部署到 Apple App Store 中,请在“导出发行版”对话框中选择“包类型”作为 Apple App Store 的最终发行包,然后选择以下文件:

P12 格式的 iOS 分发证书(第 5 步)
包含应用程序 ID 的应用程序描述符 XML 文件(第 6 步)
注: 您不能在将应用程序提交到 Apple App Store 时使用通配符应用程序 ID。
分发配置概要文件(第 7 步)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。