iOS证书和描述文件
iOS有两种证书和描述文件:
| 证书类型 | 使用场景 |
|---|---|
| 开发(Development)证书和描述文件 | 用于开发测试,在HBuilder中打包后可在真机环境通过Safari调试 |
| 发布(Distribution)证书和描述文件 | 用于提交Appstore,在HBuilder中打包后可使用Application Loader提交到Appstore审核发布 |
准备环境
- 必需要有苹果开发者账号,并且加入了“iOS Developer Program”
- Mac OS 10.9以上系统(如果已经申请p12证书则不需要)
登录iOS Dev Center
打开网站iOS Dev Center
使用苹果开发者账号登录iOS Dev Center:
登录成功后在页面右侧选择“Certificates, Identifiers & Profiles”:
在“Certificates, Identifiers & Profiles”页面的“iOS Apps”栏中任选一项,如“Certificates”:
打开“iOS Certificates”页面,可以看到所有已经申请的证书及描述文件:
申请苹果App ID
(如果已经申请,可跳过此节)
在“iOS Certificates”页面“Identifiers"下选择“App IDs",可查看到已申请的所有App ID,点击右上角的加号可创建新“App ID”:
打开“Register iOS App ID”页面,在“App ID Description”栏下的“Name”项中输入名称(如“HBuilderApp”):
在“Explicit App ID”栏下的“Bundle ID”项中输入App ID(使用反向域名格式字符串,如“io.dcloud.HBuilderApp”):
注意:HBuilder中App云端打包界面的AppID栏需要输入此值
在“App Services”栏下选择应用要使用到的服务(如需要使用到消息推送功能,则选择“Push Notifications”):
设置完成后选择“Continue”,弹出确认页面:
确认后选择“Submit”提交,再次确认就可以在“App IDs"页面看到刚创建的App ID:
生成证书请求文件
不管是申请开发(Development)证书还是发布(Distribution)证书,都需要使用证书请求(.certSigningRequest)文件,证书请求文件需在Mac OS上使用“Keychain Access”工具生成。
在“Spltlight Search”中搜索“Keychain”并打开“Keychain Access”工具:
打开菜单“Keychain Access”->“Certificate Assistant”,选择“Request a Certificate From a Certificate Authority...”:
打开创建请求证书页面,在页面中输入用户邮件地址(User Email Address)、证书名称(Common Name),请求类型(Request is)选择保存到磁盘(Saved to disk):
点击“Continue”后弹出保存路径:
点击“Save”后保存证书请求文件,成功提示:
保存文件名称为“CertificateSigningRequest.certSigningRequest”,后面申请开发(Development)证书和发布(Production)证书时用到。
申请开发(Development)证书和描述文件
开发(Development)证书用于测试环境下使用,可以直接安装到手机上(不用提交到Appstore),但一个描述文件最多只能绑定100台设备(因此通过这种证书正式发布应用是行不通的)。
申请开发(Development)证书
在“Certificates, Identifiers & Profiles”页面“Certificates"下选择“Development",可查看到已申请的所有开发(Development)证书,点击右上角的加号可创建新证书:
打开“Add iOS Certificate”页面,在“Development”栏下选中“iOS App Development”:
在页面底部选择“Continue”:
打开确认证书请求页面,点击“Continue”继续:
打开证书生成页面,点击“Choose File...”选择“生成证书请求文件”章节生成的“CertificateSigningRequest.certSigningRequest”文件,点击“Generate”生成cer证书成功:
生成证书成功后打开证书下载页面,选择“Download”下载保存证书(ios_development.cer):
双击保存到本地的ios_development.cer文件导入到“Keychain Access”:
导入成功后,可以在证书列表中显示:
选中导入的证书,右键选择“Export "Developer" ...”:
打开证书保存页面,输入文件名、选择路径后点击“Save”:
打开设置证书密码页面,输入密码及确认密码后点击“OK”:
打开访问“Keychain Access”密码页面,输入Mac OS管理员密码,点击“Allow”,保存开发(Development)证书(如“HBuilderCert.p12”)。
添加调试设备
开发描述文件必须绑定设备,所以在申请开发描述文件之前,先添加调试的设备。
(如果已经添加设备,可跳过此节)
在“Certificates, Identifiers & Profiles”页面“Devices”下选择“All",可查看到已添加的所有设备信息,点击右上角的加号可添加新设备:
打开“Registering a New Device or Multiple Devices”页面,输入设备名称和UDID:

将设备连接到电脑,启动iTunes,点击次区域可切换显示设备的UDID,右键选择复制
输入完成后,点击“Continue”继续,确认输入信息:
点击“Register”,完成添加。
申请开发(Development)描述文件
在“Certificates, Identifiers & Profiles”页面“Provisioning Profiles”下选择“Development",可查看到已申请的所有开发(Development)描述文件,点击右上角的加号可创建新描述文件:
打开“Add iOS Provisioning Profile”页面,在“Development”栏下选中“iOS App Development”:
点击“Continue”按钮,打开“App ID”选择页面,选择要使用的“App ID”(如之前创建的“io.dcloud.HBuildApp”),点击“Continue”:
打开“Select certificates”页面,选择前面创建的开发证书:
点击“Continue”,打开选择调试设备页面,选择用于调试安装的设备(最多100太设备):
点击“Continue”,输入描述文件的名称(如“HBuilderProfile”):
点击“Generage”,生成描述文件成功:
点击“Download”下载保存开发描述文件(如HBuilderProfile.mobileprovision)。
申请发布(Distribution)证书和描述文件
发布(Production)证书用于正式发布环境下使用,用于提交到Appstore审核发布。
申请发布(Production)证书
在“Certificates, Identifiers & Profiles”页面“Certificates"Production",可查看到已申请的所有发布(Production)证书,点击右上角的加号可创建新证书:
打开“Add iOS Certificate”页面,在“Production”栏下选中“App Store and Ad Hoc”:
在页面底部选择“Continue”:
打开确认证书请求页面,点击“Continue”继续:
打开证书生成页面,先点击“Choose File...”选择“生成证书请求文件”章节生成的“CertificateSigningRequest.certSigningRequest”文件,再点击“Generate”生成cer证书:
生成证书成功后打开证书下载页面,选择“Download”下载保存证书(ios_production.cer):
双击保存到本地的ios_production.cer文件导入到“Keychain Access”:
导入成功后,可以在证书列表中显示:
选中导入的证书,右键选择“Export "Developer" ...”:
打开证书保存页面,输入文件名、选择路径后点击“Save”:
打开设置证书密码页面,输入密码及确认密码后点击“OK”:
打开访问“Keychain Access”密码页面,输入Mac OS管理员密码,点击“Allow”,保存开发(Production)证书(如“HBuilderCert.p12”)。
申请发布(Distribution)描述文件
在“Certificates, Identifiers & Profiles”页面“Provisioning Profiles”下选择“Distribution",可查看到已申请的所有发布(Distribution)描述文件,点击右上角的加号可创建新描述文件:
打开“Add iOS Provisioning Profile”页面,在“Development”栏下选中“iOS App Development”:
点击“Continue”按钮,打开“App ID”选择页面,选择要使用的“App ID”(如之前创建的“io.dcloud.HBuildApp”),点击“Continue”:
打开“Select certificates”页面,选择前面创建的发布证书:
点击“Continue”,输入描述文件的名称(如“HBuilderProfileDistribution”):
点击“Generage”,生成描述文件成功:
点击“Download”下载保存开发描述文件(如HBuilderProfileDistribution.mobileprovision)。
为什么要导出.p12文件
当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)
如图:

这时候,再点击“+”时,就会发现点击不了开发和发布证书,也就是添加不了开发证书和发布证书了:

有两个解决不能添加证书的办法
第一种方法——“revoke”(不推荐):
将以前的证书“revoke”掉,如图:

然后重新生成一个新的证书。
这种方法是可以的,但是会造成相应的Provisioning Profiles失效,这个可大可小。如果只有你一个人则问题不大,如果是一个团队大家都在用,你把这个证书删除了,会导致别人的描述文件失效,这意味着别人不能发布应用了(还可以开发),这可是大问题,所以不提倡这种做法。
第二种方法——“.p12”(推荐):
我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。
注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,如图:

在别人的电脑上要成功安装,须具备两个文件:
该证书导出的“.p12”文件。
苹果开发者中的与“证书”对应的“描述文件”
如果需要用于开发的,那么需要这两个文件:
.p12文件本身就是一个加密的证书,所以用这两个文件就可以让其他mac设备使用了:

拿到这两个文件后,依次双击“证书”,“.p12“文件(需要输入密码,密码就是当时生成.p12时设定的密码,),作用是加入钥匙串中,使我们的电脑具备开发的证明,”描述文件“(作用是置于xcode中,让xcode知道我们开发的合法性),添加完后就可以使用了。
iOS证书和描述文件的更多相关文章
- iOS证书和描述文件的配置
1.登录Apple开发者账号,进入Apple Developer主页,点击Account 2.点击Certificates,ID&Profiles 3.生成CRS文件 1.打开mac上的钥匙串 ...
- iOS开发:创建真机调试证书及描述文件
iOS开发:创建真机调试证书及描述文件 关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架 ...
- 【转】ios开发证书,描述文件,bundle ID的关系
ios开发证书,描述文件,bundle ID的关系 苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制.这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布 ...
- 阐明iOS证书和provision文件
译:阐明iOS证书和provision文件 许多iOS开发人员都会和你说在iOS开发很困惑的问题之一,将app真正运行在真实的设备(iPhone iPad而不是模拟器),因为所有的这些都会涉及从苹果获 ...
- ios开发证书,描述文件,bundle ID的关系
苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制.这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布证书(又叫"生产证书"),开发描述文 ...
- [iOS]开发者证书和描述文件的作用
先说下证书吧. 然后是描述文件
- 6、申请发布(Distribution)证书和描述文件
发布(Production)证书用于正式发布环境下使用,用于提交到Appstore审核发布. 申请发布(Production)证书 在“Certificates, Identifiers & ...
- 4、申请开发(Development)证书和描述文件
开发(Development)证书用于测试环境下使用,可以直接安装到手机上(不用提交到Appstore),但一个描述文件最多只能绑定100台设备(因此通过这种证书正式发布应用是行不通的). 申请开发( ...
- Windows/Linux 生成iOS证书及p12文件
操作步骤 生成csr文件(通过OpenSSL命令) 生成mobileprovision文件(通过Apple开发者后台) 生成cer文件(通过Apple开发者后台) 生成P12文件(通过OpenSSL命 ...
随机推荐
- lintcode最长回文子串(Manacher算法)
题目来自lintcode, 链接:http://www.lintcode.com/zh-cn/problem/longest-palindromic-substring/ 最长回文子串 给出一个字符串 ...
- 【原创】开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- MVC实用架构设计(三)——EF-Code First(5):二级缓存
前言 今天我们来谈谈EF的缓存问题. 缓存对于一个系统来说至关重要,但是是EF到版本6了仍然没有见到有支持查询结果缓存机制的迹象.EF4开始会把查询语句编译成存储过程缓存在Sql Server中,据说 ...
- MyEclipse 2014跟2015破解
最近一直在弄后台开发,之前用idea感觉用的很不习惯,于是就换了myeclipse,两年多没有用myeclipse了,版本都很高了,记得我们之前用myeclipse8.5版本的时候,注册码什么的直接运 ...
- iOS开发之地图与定位
无论是QQ还是微信的移动客户端都少不了定位功能,之前在微信demo中没有添加定位功能,今天就写个定位的小demo来了解一下定位和地图的东西.地图和定位看上去是挺高大上一东西,其实用法比TableVie ...
- Objective-C中的语法糖
写这篇博客源于一个疑问:“WoK~, 这也行?!”.刚接触OC不久,今天做深浅拷贝的测试,无意中把获取NSArray的值写成了用下标获取的方式.当时把注意力放在了深浅拷贝的内存地址分析上了,就没太在意 ...
- CentOS 7中如何安装mysql server
以前一直用RHEL 6.3和6.4,系统盘里自带了mysql server,配置好yum源后,直接yum install mysql-server就可安装mysql服务器端了,最近用CentOS 7. ...
- Oracle配置和使用闪回
环境:RHEL 6.4 + Oracle 11.2.0.4 目录: 一.闪回查询 1.1 闪回查询举例 1.2 闪回版本查询举例 二.闪回事物 2.1 闪回事物查询的先决条件 2.2 闪回事物查询 三 ...
- Hibernate —— Entity.hbm.xml
一.简述 1.对象关系映射文件,用于映射实体类和关系数据库数据表之间的一个 xml 文件. 2.通过 Entity.hbm.xml 映射文件,Hibernate 可以理解持久化类和数据表之间的对应关系 ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...