转载于:http://ask.dcloud.net.cn/article/152

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”栏下选择应用要使用到的服务(如需要使用到消息推送功能,则选择“VPN Configuration & Control”):

设置完成后选择“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)。

[转]iOS证书(.p12)和描述文件(.mobileprovision)申请的更多相关文章

  1. 【Abode Air程序开发】iOS证书(.p12)和描述文件(.mobileprovision)申请

    iOS证书(.p12)和描述文件(.mobileprovision)申请 5+App开发 Apple证书 iOS证书 iOS有两种证书和描述文件: 证书类型 使用场景 开发(Development)证 ...

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

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

  3. iOS证书(.p12)和描述文件(.mobileprovision)生成制作教程 By h.l

    iOS证书(.p12)和描述文件(.mobileprovision)制作 证书类型分为2种,开发证书和发布证书 1.开发证书(iOS Certificates (Development))(用于真机调 ...

  4. 真机测试---iOS证书(.p12)和描述文件(.mobileprovision)

    iOS证书和描述文件: 证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试,在starain中打包后可在真机环境通过Safari调试 发布(Distribution)证书和 ...

  5. iOS 证书(.p12)和描述文件(.mobileprovision)的导出和使用方法

    为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中 ...

  6. 苹果证书p12和描述文件的创建方法

    在2020年之前,我们在使用香蕉云编创建苹果证书的时候,只需要注册苹果开发者账号,但不需要缴费成为开发者. 在2020年之后,需要先缴费成为苹果开发者. 假如你还没有注册苹果开发者账号,可以先参考下下 ...

  7. 免费苹果账号(apple id)申请ios证书p12真机调试

    HBuilder可以直接打包越狱版的ipa包,但需要越狱手机才能安装,如果需要安装到没越狱的手机安装,需要自己申请ios证书打包. 一般是需要一个付费了的苹果开发者账号才能申请ios证书打包. 这里介 ...

  8. [转]iOS Safari 中click点击事件失效的解决办法

    iOS Safari 中click点击事件失效的解决办法 问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素 ...

  9. [转]iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用

    转载地址:http://www.mamicode.com/info-detail-514151.html 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载 ...

随机推荐

  1. java 栈和队列的模拟--java

    栈的定义:栈是一种特殊的表这种表只在表头进行插入和删除操作.因此,表头对于栈来说具有特殊的意义,称为栈顶.相应地,表尾称为栈底.不含任何元素的栈称为空栈. 栈的逻辑结构:假设一个栈S中的元素为an,a ...

  2. 【Java】定义魔法数字,以及枚举类的构造方法的使用

    JavaWeb项目中需要定义各种常量时,常用方法有: 写到Property配置文件中,用静态代码块优先加载配置文件.参考http://www.cnblogs.com/guxin/p/java-prop ...

  3. TCP/IP协议层

    除了少数外,OSI协议簇本身已经成为Internet历史早期的遗留产物.当前OSI协议对于网络技术的贡献看来主要是对学习网络的学生讲述模块化的协议簇时,可以引用它的参考模型进行说明等的有限用途. 下面 ...

  4. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    在使用selenium处理中文网页或者网页标题是中文的时候,出现UnicodeEncodeError: 'ascii' codec can't encode characters in positio ...

  5. Vagrant (1) —— 基本安装与配置(上)

    Vagrant (1) -- 基本安装与配置(上) 摘要 基本安装与配置 版本 Vagrant版本: 1.8.1 内容 启动运行 $ vagrant init hashicorp/precise64 ...

  6. docker 运行redis

    自从接触docker之后,很多软件都想着用docker运行,毕竟手动安装的话老是要配一些环境变量啊,找配置文件修改配置什么的,docker却有更简便的办法. 正题: 建一个docker应用容器可以通过 ...

  7. 两种常用的jquery事件加载的方法 的区别

    两种常用的jquery事件加载的方法   $(function(){});  window.onload=function(){}  第一个呢,是在DOM结构渲染完成以后调用的,这时候网页中一些资源还 ...

  8. JavaScript(九):JavaScript中的内置对象

    一.对象的概念 对象是一种特殊的数据类型(object). 拥有一系列的属性和方法. 分为内置对象和自定义对象. 二.String对象 String对象用来支持对于字符串的处理. 1.属性 lengt ...

  9. 删除json对象中空值

    function deleteEmptyProperty(obj){ var object = obj; for (var i in object) { var value = object[i]; ...

  10. 两个项目之间通过 RestTemplate 进行调用

    A服务发出请求: @RequestMapping("/jqgridjsondata.json") @ResponseBody public String jqgridJsonDat ...