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 开发者计划。 |
无 |
|
2. |
注册 iOS 设备的唯一设备标识符 (UDID)。 |
Apple 开发者 ID(第 1 步) |
|
3. |
生成证书签名请求 (CSR) 文件 (*.certSigningRequest)。 |
|
无 |
4. |
生成 iOS 开发者/分发证书 (*.cer)。 |
|
|
5. |
将 iOS 开发者/分发证书转换为 P12 格式。 (发布后APPSTORE用这个来识别你是哪个公司或个人, 包含开发和发行两种版本) |
|
|
6. |
生成应用程序 ID。(标示两个不同的应用) |
Apple 开发者 ID(第 1 步) |
|
7. |
生成配置概要文件 (*.mobileprovision)包含一组数据 信息,它能够将开发人员和设备与经过认可的 iOS 开 发团队绑定在一起,并且能够启用用于测试的设备它 包含一组 iOS 开发证书、若干设备 ID和一个应用程序 ID,并且它必须安装于你希望运行你的应用程序的每 个设备上另一方面,发行配置文件可能包含设备数据 信息,它依据你是否希望为特定设备的特别发行或通 过 Apple App Store 创建应用程序包。Apple 只接受采 用 App Store 发行配置文件创建的应用程序,但采用 App Store 配置文件创建的 |
|
|
8. |
构建应用程序。 |
Flash Builder |
|
9. |
部署应用程序。 |
iTunes |
|
构建、调试或部署 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 步)
iOS证书详解的更多相关文章
- iOS 证书详解
引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做iOS开发的同学没少被折腾.对于一个iOS开发小白 ...
- iOS证书详解--再转
一.成员介绍1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑上 ...
- iOS证书详解--转载
一.成员介绍1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑上 ...
- iOS开发者证书-详解
iOS开发者证书-详解/生成/使用 本文假设你已经有一些基本的Xcode开发经验, 并注册了iOS开发者账号. 相关基础 加密算法 现代密码学中, 主要有两种加密算法: 对称密钥加密 和 公开密钥加密 ...
- iOS-申请测试证书详解(多图原创)
申请测试证书详解 前言 App开发和发布过程中证书基础知识:1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certifi ...
- 【转】IOS AutoLayout详解(三)用代码实现(附Demo下载)
转载自:blog.csdn.net/hello_hwc IOS SDK详解 前言: 在开发的过程中,有时候创建View没办法通过Storyboard来进行,又需要AutoLayout,这时候用代码创建 ...
- IOS SDK详解
来源:http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html?page=1#42803301 博客专栏>移动开发专栏>I ...
- iOS路由详解
本文如题,路由详解,注定是一篇详细解释iOS路由原理及使用的文章,由于此时正在外地出差,无法详细一一写出,只能不定时的补充. 一.什么是iOS路由 路由一词来源于路由器,可以实现层级之间消息转发的功能 ...
- IOS 手势详解
在IOS中手势可以让用户有很好的体验,因此我们有必要去了解一下手势. (在设置手势是有很多值得注意的地方) *是需要设置为Yes的点击无法响应* *要把手势添加到所需点击的View,否则无法响应* 手 ...
随机推荐
- RS chap1:好的推荐系统
一.什么是推荐系统 1.个性化推荐系统:从庞大的电影库中找几部符合你兴趣的电影供你选择. 2.推荐系统是帮助用户快速发现有用信息的工具.和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分 ...
- 国内高速下载Docker
一般情况下,我们可以从Docker官网下载docker安装文件,但是官方网站由于众所周知的原因,不是访问慢,就是下载慢.下载docker安装包动不动就要个把小时,真是极大的影响工作效率. 在这里推荐一 ...
- vue项目1-pizza点餐系统3-路由知识点补充
1.可以通过tag修改router-link的默认标签 <!--router-link标签默认是a标签,tag标签可以修改默认标签 --> <li><router-lin ...
- Unity3D游戏开发和网络游戏实战书籍及配套资源和一些视频教程分享
目录 1. 按 2. pdf 3. 配套资源 3.1. Unity网络游戏实战第二版 3.2. Unity网络游戏实战第一版 4. 视频教程 5. 更多坦克大战代码 1. 按 本文主要分享了: Uni ...
- heartbeat如何避免脑裂
heartbeat避免脑裂的方法 1)增加冗余的心跳线,例如双线条线,尽量减少脑裂发生的机会 2)启用磁盘锁:正在服务的一方锁住了共享磁盘,脑裂发生时,让对方完全抢走资源,如果占用资源的一方不解锁 , ...
- linux 下shell中if的“-e,-d,-f”的用法
文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L ...
- Java并发编程实战 第5章 构建基础模块
同步容器类 Vector和HashTable和Collections.synchronizedXXX 都是使用监视器模式实现的. 暂且不考虑性能问题,使用同步容器类要注意: 只能保证单个操作的同步. ...
- InnoDB和MyISAM的六大区别
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- hdu 3376 : Matrix Again【MCMF】
题目链接 题意:给定一个n*n的矩阵,找一条路,从左上角到右下角再到左上角,每个点最多经过一次,求路径上的点的权值的最大和. 将矩阵中每个点拆点,点容量为1,费用为点权值的相反数.每个点向自己右侧和下 ...
- Leaflet调用geoserver发布的矢量切片
geoserver如何发布切片就不写了,大家都可以查到. index.html <!DOCTYPE html> <html> <head> <meta cha ...