iOS证书(.p12)和描述文件(.mobileprovision)申请

iOS有两种证书和描述文件:

证书类型 使用场景
开发(Development)证书和描述文件 用于开发测试,在HBuilder中打包后可在真机环境通过Safari调试
发布(Distribution)证书和描述文件 用于提交Appstore,在HBuilder中打包后可使用Application Loader提交到Appstore审核发布

准备环境

\n
  • 必需要有苹果开发者账号,并且加入了“iOS Developer Program”
  • Mac OS 10.9以上系统(如果已经申请p12证书则不需要)
\n

登录iOS Dev Center

\n

打开网站iOS Dev Center
使用苹果开发者账号登录iOS Dev Center:

登录成功后在页面右侧选择“Certificates, Identifiers & Profiles”:

在“Certificates, Identifiers & Profiles”页面的“iOS Apps”栏中任选一项,如“Certificates”:

打开“iOS Certificates”页面,可以看到所有已经申请的证书及描述文件:

申请苹果App ID

\n

(如果已经申请,可跳过此节)
在“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:

生成证书请求文件

\n

不管是申请开发(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)证书和描述文件

\n

开发(Development)证书用于测试环境下使用,可以直接安装到手机上(不用提交到Appstore),但一个描述文件最多只能绑定100台设备(因此通过这种证书正式发布应用是行不通的)。

申请开发(Development)证书

\n

在“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”)。

添加调试设备

\n

开发描述文件必须绑定设备,所以在申请开发描述文件之前,先添加调试的设备。
(如果已经添加设备,可跳过此节)
在“Certificates, Identifiers & Profiles”页面“Devices”下选择“All",可查看到已添加的所有设备信息,点击右上角的加号可添加新设备:

打开“Registering a New Device or Multiple Devices”页面,输入设备名称和UDID:


将设备连接到电脑,启动iTunes,点击次区域可切换显示设备的UDID,右键选择复制

输入完成后,点击“Continue”继续,确认输入信息:

点击“Register”,完成添加。

申请开发(Development)描述文件

\n

在“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)证书和描述文件

\n

发布(Production)证书用于正式发布环境下使用,用于提交到Appstore审核发布。

申请发布(Production)证书

\n

在“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)描述文件

\n

在“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)。


11 分享
多串君 MrLoading 风君 蔡繁荣 ztingjian jackzlz 我勒个去 可怜的光头强 雨一直下天黑了 Gunter doubleWei
915833445@qq.com

915833445@qq.com

我的.ipa测试版打包成功了,为什么放在手机上不能打开安装???
0 赞 2017-05-09 13:44
简符

简符

不用mac钥匙串在Windows下直接申请iOS证书及描述文件教程http://ask.dcloud.net.cn/article/1257
0 赞 2017-04-06 15:51
674797647@qq.com

674797647@qq.com

专业解决证书、描述文件、苹果商城上架等问题。联系QQ:674797647,非诚勿扰。
0 赞 2017-04-04 01:21
lxdkky@163.com

lxdkky@163.com

原文说:如需要使用到消息推送功能,则选择“VPN Configuration & Control”??? 不是选“Push Notifications”???
0 赞 2017-03-21 11:00
failedtocopy

failedtocopy

在创建appid的时候“在“Explicit App ID”栏下的“Bundle ID”项中输入App ID(使用反向域名格式字符串,如“io.dcloud.HBuilderApp”):”
在“申请开发(Development)证书和描述文件”和“申请发布(Distribution)证书和描述文件”的时候楼主写到:“点击“Continue”按钮,打开“App ID”选择页面,选择要使用的“App ID”(如之前创建的“io.dcloud.HBuildApp”),点击“Continue”:”

io.dcloud.HBuilderApp 和 io.dcloud.HBuildApp明显不一样,请问是楼主写错了么? 搞准确点啊,我们当小白也想当的顺利点
0 赞 2017-03-13 09:44
紫豪网络

紫豪网络

make下以后慢慢看~~
0 赞 2017-02-21 22:27
maogege

maogege

没有mac电脑怕是申请不了了
0 赞 2017-01-22 15:46
failedtocopy

failedtocopy

真是日了狗了,如果是有推送功能除了 “在“App Services”栏下选择应用要使用到的服务(如需要使用到消息推送功能,则选择“Push Notifications”)” 还应该在生成开发者证书的时候选择:“Apple Push Notification Service SSL(Sandbox)” ?
0 赞 2017-01-11 18:24
windyu

windyu

看来好多人遇到了 profile文件与私密证书不匹配 的问题, 用开发模式的相关证书和私钥签名能打包,但是用正式的就抱这个问题了。我提交BUG了,不知道什么时候能解决
0 赞 2017-01-10 11:38
46009669@qq.com

46009669@qq.com

请教一下,生成ipa后,怎么提交appstore呢?
0 赞 2016-12-16 16:16
ccfto

ccfto

make下以后慢慢看~~
0 赞 2016-11-15 19:17
984311338@qq.com

984311338@qq.com

ERROR ITMS-90167: "No .app bundles found in the package",请问有人遇到这个错误没
0 赞 2016-10-26 17:05
fan1130work@163.com

fan1130work@163.com

Bundle ID反向域名是app请求地址的域名还是所属公司主页的域名?
0 赞 2016-10-26 10:33
chenliqiang1106@163.com

chenliqiang1106@163.com

ios profile文件与私钥证书文件不匹配 怎么回事
0 赞 2016-09-11 17:28
chenliqiang1106@163.com

chenliqiang1106@163.com

ios profile文件与私钥证书文件不匹配
0 赞 2016-09-11 17:28
移动开发

移动开发

有没有成功的啊,总是提示profile文件与私密证书不匹配?
0 赞 2016-08-30 10:45
HebeHealer

HebeHealer

这样还如装个黑苹果用WeX5一下下就搞定了
0 赞 2016-08-23 17:31
Gunter

Gunter

看了半天终于OK了
0 赞 2016-08-20 15:37
benjaminatcd

benjaminatcd

http://blog.csdn.net/phunxm/article/details/42685597/
之前一直p12证书不匹配profile 看完链接才知道问题出在这里,keychain申请前 没有安装worldwide developer relations证书...
4.iOS(开发)证书的根证书
那么,iOS 开发证书是谁颁发的呢?或者说我们是从哪个 CA 申请到用于 Xcode 开发调试 App 的证书呢?
iOS 以及 Mac OS X 系统(在安装 Xcode 时)将自动安装 AppleWWDRCA.cer 这个中间证书(Intermediate Certificates),它实际上就是 iOS(开发)证书的证书,即根证书(Apple Root Certificate)。
AppleWWDRCA(Apple Root CA)类似注册管理户籍的公安机关户政管理机构,AppleWWDRCA.cer 之于 iOS(开发)证书则好比户籍证之于身份证。
如果 Mac Keychain Access 证书助理在申请证书时尚未安装过该证书,请先下载安装(Signing requires that you have both the signing identity and the intermediate certificate installed in your keychain)。
0 赞 2016-06-28 01:23
damdmen

damdmen

如果需要调试apns推送是不是就需要使用APNS证书,而不是IOS App development这个type?
0 赞 2016-06-25 18:11
迷途小压压

迷途小压压 回复 大冬

你好。上面的步骤做完之后,上架应该怎么办?上面没说道。
0 赞 2016-06-14 14:26
迷途小压压

迷途小压压

虽然学web出身,但是按照顺序一步一步来可以搞掂的
0 赞 2016-06-13 10:41
大冬

大冬

已成功
0 赞 2016-06-03 14:07
苦力强

苦力强

试了一下,可以成功,按照文档流程一步步走下来的,请同学们注意生成Provisioning Profiles文件时,选项一定要和证书的类型一致,否则Hbuilder会报证书错误。没有mac电脑的同学,生成证书请求文件可以先在虚拟机装一个macOS系统。
1 赞 2016-05-31 11:09
shellphi

shellphi

我也弄出来了。
1 赞 2016-05-19 13:31
大霸王

大霸王

经过好几次的认真阅读和实际操作,总算是全部弄出来了。
1 赞 2016-04-15 15:36
东哥的苹果

东哥的苹果 回复 轰炸大鱿鱼

麻烦问下您ios云打包是私钥密码是哪个证书的密码?profile文件又是上传哪个证书?私钥证书又是哪个证书?我按这个文档打包出错啊
xcode build 开始

xcodebuild -sdk iphoneos9.1 -project 安装包制作目录Pandora.xcodeproj TARGETED_DEVICE_FAMILY="1,2"
Build settings from command line:
SDKROOT = iphoneos9.1
TARGETED_DEVICE_FAMILY = 1,2

=== BUILD TARGET Pandora OF PROJECT Pandora WITH THE DEFAULT CONFIGURATION (Release) ===

Check dependencies
Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“HBuilderProfiler”) were found.


** BUILD FAILED **


The following build commands failed:
Check dependencies
(1 failure)
0 赞 2016-01-23 15:42
轰炸大鱿鱼

轰炸大鱿鱼

不会弄的基本上都是不熟悉mac系统 我一开始就是 走一遍就好了没那么可怕
0 赞 2016-01-13 13:37
h5ios

h5ios

Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“JianKang_PingTai_2”) were found.
这是怎么回事??我的都是一致的啊!
0 赞 2016-01-05 17:55
可怜的光头强

可怜的光头强

这个文档写得太好了,苹果公司控制的太严了,太麻烦了。
0 赞 2015-11-13 16:46
战士

战士 回复 beyond88

我也遇到这个问题了,请问你解决了么?
0 赞 2015-11-10 14:22
战士

战士 回复 DCloud_App_Array

官方群的QQ群号是多少了?
0 赞 2015-11-10 14:06
DCloud_App_Array

DCloud_App_Array 回复 战士

具体原因得分析失败返回的日志,请在官方群里联系DCloud_客服_果汁 确认原因
0 赞 2015-11-10 12:52
战士

战士

我申请了开发证书和描述证书,为什么我用开发证书可以在云端打包,但是用发布证书在云端打包就失败?
0 赞 2015-11-10 09:35
战士

战士

我申请了开发证书和描述证书,为什么我用开发证书可以在云端打包,但是用发布证书在云端打包就失败?
0 赞 2015-11-10 09:34
我勒个去

我勒个去

先收藏吧,初次接触,真的头晕,但已经按照流程生成好所有证书了
0 赞 2015-11-05 16:17
MissHuang

MissHuang

原文说:如需要使用到消息推送功能,则选择“VPN Configuration & Control”??? 不是选“Push Notifications”???
0 赞 2015-11-03 15:25
YL

YL 回复 beyond88

没遇到这个情况,是不是生成的证书问题,我是打包成功了
0 赞 2015-10-28 10:16
YL

YL 回复 陈影

AppStore审核通过了就安装了。。。
0 赞 2015-10-28 10:14
陈影

陈影 回复 YL

我也遇到你这个问题了请问你是怎么解决的
0 赞 2015-10-24 16:26
beyond88

beyond88 回复 beyond88

请问你遇到这个情况没,是什么问题,谢谢
0 赞 2015-10-07 11:34
beyond88

beyond88 回复 YL

您好!我到这步就失败了在打包的时候
-----END CERTIFICATE-----
Bag Attributes
friendlyName:
0 赞 2015-10-07 11:33
YL

YL

按照上面说的,生成开发证书打包成功也可以安装,生成发布证书,打包成功,但是安装失败,请问这有可能是什么情况造成的啊。发布证书打的包必须发布到AppStore才能安装吗,不能直接装手机上吗
0 赞 2015-09-29 09:49
Danny

Danny

企业开发者账号,Development模式的证书、p12、描述文件获取成功,打包也成功了。但是Production模式的哈不行,这是为啥啊啊啊
0 赞 2015-09-25 19:00
旭日

旭日

作为一个有十年.NET开发经验的程序员,我只想对苹果公司说一下: 你TMD的那天破产了。我一定发一挂鞭炮! 祝您早日破产! 让你的封闭去死吧!
2 赞 2015-09-10 11:22
青创

青创

这tmd已经不能用费劲形容了,iturns 各种不能改信息,绑定id不能改,名字不能改,名字不能重复,提交了审核不过永远不能删除!卧槽他大爷的苹果!
2 赞 2015-08-01 03:00
刘俊朋

刘俊朋

狗娘养的苹果, 不争气的中华, 腐败的社会, 只能适应, 不能改变
6 赞 2015-07-26 13:53
CaiN

CaiN

实在是太费劲了
0 赞 2015-07-17 14:54
Junr

Junr

作为一个前端开发者,这些东西看着很晕
1 赞 2015-05-16 11:34
云钦

云钦

提示制作成功,但是没有ipa文件,生成只是临时文件的样子,手动下载页面内容为“{"error":"Document not found"}”
0 赞 2015-05-14 11:24
1号房

1号房

以前成功过一次,现在又郁闷了
2 赞 2015-04-27 17:27
stock2

stock2

有人成功过吗>
0 赞 2015-04-27 15:39
枫桥

枫桥

作为一名不是ios开发者,看起来费老劲了
3 赞 2015-04-20 14:59

要回复文章请先登录注册