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

简介: [转]iOS证书(.p12)和描述文件(.mobileprovision)申请

转载于:iOS证书(.p12)和描述文件(.mobileprovision)申请 - DCloud问答

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

相关文章
|
2月前
|
程序员 iOS开发 开发者
iOS|获取 Distribution Managed 证书的 SHA-1 指纹和公钥
APP 备案时,如何获取 iOS 平台 Distribution Managed 类型证书的证书的 SHA-1 指纹和公钥?
51 0
|
2月前
|
iOS开发 开发者 MacOS
在线创建ios打包证书无需mac
这个文件并不一定需要使用mac OS去创建,在苹果开发者中心,生成了cer格式的证书后,导出p12证书这个过程,其实也并不一定需要mac电脑来完成。
25 0
|
4月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
197 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
6月前
|
iOS开发 开发者
ios证书申请最简单的教程
使用uniapp进行开发的时候,点击uniapp打包界面的教程,提示需要Mac电脑申请ios证书,但是手上没有mac电脑,几经周折,终于找到了不需要mac电脑生成ios证书的解决方案。今天将解决方案整理出来。
105 10
|
7月前
|
前端开发 JavaScript 程序员
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
137 0
|
7天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
2月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
114 1
|
15天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
36 9
|
11天前
|
设计模式 Swift iOS开发
探索iOS开发:从基础到高级,打造你的第一款App
【10月更文挑战第40天】在这个数字时代,掌握移动应用开发已成为许多技术爱好者的梦想。本文将带你走进iOS开发的世界,从最基础的概念出发,逐步深入到高级功能实现,最终指导你完成自己的第一款App。无论你是编程新手还是有志于扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。让我们一起开始这段旅程吧!
|
14天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。