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命 ...
随机推荐
- 前端学PHP之运算符
× 目录 [1]总括 [2]算术运算符 [3]赋值运算符[4]位运算符[5]比较运算符[6]错误控制[7]逻辑运算符[8]字符串连接[9]数组运算符 前面的话 运算符是可以通过给出的一或多个表达式来产 ...
- Android 之 ProgressDialog用法介绍
布局文件测试: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi ...
- MySQL学习笔记八:日期/时间的处理
MySQL日期时间的处理,在其官网文档上都有详细的阐述,想了解更多的同学可自行查阅. 1.查询当前日期时间:函数有now(),localtime(),current_timestamp(),sysda ...
- CRL 版本2.2.0.0发布
重要更新: 增加了关联查询 优化了缓存查找效率 关联查询有以下两种形式 返回Select结果,结果为动态对象 将结果附加给当前对象索引值 关联查询有累加效果,可关联多个表可通过匿名对象指定返回的别名, ...
- Visual Studio 2015 开发 ASP.NET 5 有何变化?
本篇博文目录: ASP.NET 5 模版 ASP.NET 5 目录结构 前端管理工具 无编译开发 Microsoft Git Provider 智能感知和错误信息 Smart Unit Testing ...
- java 线程池ThreadPoolExecutor 如何与 AsyncTask() 组合使用。
转载请声明出处谢谢!http://www.cnblogs.com/linguanh/ 这里主要使用Executors中的4种静态创建线程池实例方法中的 newFixedThreadPool()来举例讲 ...
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- MySQL入门04-MySQL主从配置
1.主节点授权同步用户 2.主节点修改配置文件 3.从节点修改配置文件 4.主节点锁定后查看状态 5.从节点配置并启动同步.查看状态 6.主节点解锁并验证从节点是否正常同步 环境:CentOS 6.7 ...
- JAVA安全模型
作为一种诞生于互联网兴起时代的语言,Java 从一开始就带有安全上的考虑,如何保证通过互联网下载到本地的 Java 程序是安全的,如何对 Java 程序访问本地资源权限进行有限授权,这些安全角度的考虑 ...
- 【原创】新手入门一篇就够:从零开发移动端IM
一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...