IOS 开发环境,证书和授权文件等详解
(转自:http://blog.csdn.net/gtncwy/article/details/8617788)
一、成员介绍
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 开发环境,证书和授权文件等详解
(转自:http://blog.csdn.net/gtncwy/article/details/8617788) 一.成员介绍1. Certification(证书)证书是对电脑开发资格的认证, ...
- iOS开发——高级特性&Runtime运行时特性详解
Runtime运行时特性详解 本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 ...
- IOS开发UI篇之tableView 的用法详解
1.我们知道tableView是IOS中的高级视图,其继承与ScrollView,故我们知道他有具有ScrollView的所有功能.而且还扩展了许多.当然在这里就不一一介绍了. 2.tableView ...
- ios开发之--armv7,armv7s,arm64,i386,x86_64详解
有时候在运行的时候,经常出现诸如i386的错误,最新一些可能会出现 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch ...
- pycharm+PyQt5+python最新开发环境配置,踩坑过程详解
安装工具:Pycharm 专业版2017.3PyQT5python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击加号新 ...
- Python开发环境Wing IDE设置Python路径详解
在使用Wing IDE的时候,Python源代码取决于PYTHONPATH(无论是外部或通过内部改变sys.path系统设置),用户需要将路径设置到Wing IDE中. 这个值可以从项目菜单和工具栏的 ...
- 【IOS 开发】Object - C 入门 之 数据类型详解
1. 数据类型简介及输出() http://www.把下面的替换我.com/html/topnews201408/79/1279.htm csdn123
- iOS开发UI篇 -- UISearchBar 属性、方法详解及应用(自定义搜索框样式)
很多APP都会涉及到搜索框,苹果也为我们提供了默认的搜索框UISearchBar.但实际项目中我们通常需要更改系统默认搜索框的样式.为了实现这一目标,我们需要先搞懂 UISearchBar 的属性及方 ...
- iOS开发-- 开发环境,证书和授权文件
一.成员介绍 1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑 ...
随机推荐
- SPOJ ONEZERO(搜索)
搜索的好题,,,, 摘自题解: 题意: 给一个数n,求n 的最小的倍数,满足它的10进制 表示中每一位不是0就是1. 思路: 用f(x)表示被n整除取模后的最小数,那么从0开始,每次往后添0或者1,如 ...
- 跟我一起学WCF(12)——WCF中Rest服务入门
一.引言 要将Rest与.NET Framework 3.0配合使用,还需要构建基础架构的一些部件.在.NET Framework 3.5中,WCF在System.ServiceModel.Web组件 ...
- C++11 并发指南六(atomic 类型详解三 std::atomic (续))
C++11 并发指南六( <atomic> 类型详解二 std::atomic ) 介绍了基本的原子类型 std::atomic 的用法,本节我会给大家介绍C++11 标准库中的 std: ...
- C语言 串 顺序结构 实现
一个能够自动扩容的顺序结构的串 ArrString (GCC编译). /** * @brief C语言 串 顺序结构 实现 * @author wid * @date 2013-11-01 * * @ ...
- Java经典类库-Guava中的函数式编程讲解
如果我要新建一个java的项目,那么有两个类库是必备的,一个是junit,另一个是Guava.选择junit,因为我喜欢TDD,喜欢自动化测试.而是用Guava,是因为我喜欢简洁的API.Guava提 ...
- atitit.避免NullPointerException 总结and 最佳实践 o99
atitit.避免NullPointerException 对于返回集合的方法很简单,只需要返回空的集合就可以了,而不是null. 1 一种可选办法就是不使用空返回值,而是空对象模式: 1 直接抛出e ...
- paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例
paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例 #---目标 1. en vs enPHati 2.en vs enPhAtiSmp 3.cn vs ...
- ORA-01033:ORACLE initialization or shutdown in progress
借用他人的经验 客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示 ...
- DNS劫持
忽然发现我最喜欢的chrome 一直有广告,好些论坛都有大量的广告,原以为是重了什么插件了,找了也没发现,有可能是DNS劫持. 打开路由器,找到 dns 设置里面把里面的全部去掉.然后把 192.16 ...
- Docker实践(4)—network namespace与veth pair
network namespace 创建network namespace # ip netns add blue # ip netns list blue 添加网口到namespace 先创建v ...