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

如果你从事过iOS开发,大概都会了解到iOS有两种证书和描述文件:

证书类型

使用场景

开发(Development)证书和描述文件

用于开发测试,在 HBuilderX 中打包后可在真机环境调试

发布(Distribution)证书和描述文件

用于提交 AppStore,在 HBuilderX 中提交云打包后提交到 AppStore 审核发布

如果从未接触过 iOS,按照下面教程的所需环境、步骤操作,你将学会如何制作这 两种证书 和 描述文件。

准备环境

必需要有苹果开发者账号,并且加入了 “iOS Developer Program”

Mac OS 10.9以上系统(如果已经申请p12证书则不需要)

苹果开发帐号说明 个人账号(Individual)/公司团队账号 (Company/Organization):

费用都是99美金一年,两者无本质区别,都可以发布应用到苹果市场。

区别在于个人账号在App Store销售者只能显示个人的ID,比如san zhang,单人使用。公司团队账号在App Store销售者可以显示类似Studios,或者自定义的团队名称,比如Mamshare INC,公司账号允许多个开发者协作开发,比个人帐号多一些帐号管理和级别权限的设置。

这两种帐号都可以用于开发,但在生成开发证书的时候,需要在生成mobileprovision描述文件时把需要安装的iPhone/iPad的设备UDID进行绑定(最多可以绑定100个设备),否则生成的ipa不能正常安装到测试设备上。

企业账号 (Enterprise):

费用299美金一年,该账号开发应用不能发布到App Store,只能用于企业自己内部使用的app通过网站下载,对测试的苹果iOS设备UDID数量不限制。

生成证书请求文件

不管是申请开发 (Development) 证书 还是 发布 (Distribution) 证书,都需要使用证书请求 (.certSigningRequest) 文件,证书请求文件需在Mac OS上使用 “钥匙串访问” 工具生成。

  1. 打开“钥匙串访问”工具
  1. 打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书…”:
  1. 打开创建请求证书页面,在页面中输入用户邮件地址、常用名称,选择存储到磁盘,点击 “继续” :
  1. 文件名称为 “CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请 开发(Development)证书发布(Production)证书 时需要用到。
  1. 在保存位置可看到 生成的请求证书(CertificateSigningRequest.certSigningRequest)。

登录苹果开发者账号

  1. 打开网站 iOS Dev Center
  2. 使用苹果开发者账号登录 iOS Dev Center:
  1. 登录成功后在页面左侧选择 “Certificates,IDs & Profiles” 进入证书管理页面:
  1. 在证书管理页面,可以看到所有已经申请的证书及描述文件:

申请苹果 App ID (App的唯一标识)

  1. 选择页面的“Identifiers”可查看到已申请的所有 App 应用标识,点击页面上的加号来创建一个新的应用标识:
  1. 选择标识类型为“App”,然后点击 “Continue”
  1. 平台选择“iOS,tvOS,watchOS”,Bundle ID 选择“Explicit”,在 Description 中填写描述,然后填写 Bundle ID,Bundle ID 要保持唯一性,建议填写反域名加应用标识的格式 如:“uni.xxxxxxxxx”,然后点击 “Continue”注意:在 HBuilderX 中 App 提交云端打包时界面上的 AppID 栏填写的就是这个 Bundle ID
  1. 接下来需要选择应用需要使用的服务(如需要使用到消息推送功能,则选择“Push Notifications”),然后点击“Continue”注意:如果App用不到的服务一定不要勾选,以免响应审核
  1. 确认后选择提交,回到 identifiers 页面即可看到刚创建的App ID:

申请开发(Development)证书和描述文件

开发(Development)证书 及 对应的描述文件用于开发阶段使用,可以直接将 App 安装到手机上,一个描述文件最多绑定100台测试设备(开发证书不能用于发布应用到 App Store)。

申请开发(Development)证书

  1. 在证书管理页面选择 “Certificates” 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
  1. 在 “Software” 栏下选中 “iOS App Development” 然后点击 “Continue”:
  1. 用到刚刚生成的证书请求文件,点击“Choose File…”,选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
  1. 生成证书后选择 “Download” 将证书下到本地 (development.cer):
  1. 双击保存到本地的 development.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出xxxxxx”:
  1. 输入文件名、选择路径后点击 “存储”:
  1. 输入密码及确认密码后点击 “好”:
  1. 至此,我们已经完成了开发证书的制作(得到了 xxx.p12 证书文件)。
  1. 如果出现开发证书不受信任,说明开发设备中 Apple Worldwide Developer Relations Certification Authority证书被删除了 或者 已安装的WWDRCA失效了。

解决方案:https://www.apple.com/certificateauthority/

添加调试设备

开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装 App,所以在申请开发描述文件之前,先添加调试的设备。 (如果已经添加设备,可跳过此节)

  1. 在证书管理页面选择 “Devices”,可查看到已添加的所有设备信息,点击页面上的加号来添加一个新设备:
  1. 填写设备名称 和 UDID(设备标识):

获取设备UDID方法,将设备连接到电脑,启动 iTunes,点击此区域可切换显示设备的 UDID,右键选择复制。 直接点击链接https://www.pgyer.com/tools/udid,扫描二维码,会提示安装一个描述文件,点击安装之后,就会在浏览器中显示出设备信息。长按复制”设备信息UDID”下面的值,就是UDID了。

申请开发 (Development) 描述文件

  1. 在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
  1. 在 “Development” 栏下选中 “iOS App Development”,点击“Continue”按钮:
  1. 这里要选择之前创建的 “App ID” (这里是“uni.xxxxxxxxx”),点击“Continue”:
  1. 接下来选择需要绑定的证书,点击“Continue”:
  1. 选择授权调试设备,这里建议直接勾选 “Select All”,点击 “Continue”:
  1. 输入描述文件的名称(如“xxxxProfile”), 点击 “Generate” 生成描述文件:
  1. 点击“Download”下载保存开发描述文件(文件后缀为 .mobileprovision)
  1. 至此,我们已经得到了开发证书(.p12)及对应的描述文件(.mobileprovision)。

申请发布(Distribution)证书和描述文件

发布 (Production) 证书用于正式发布环境下使用,用于提交到Appstore审核发布。发布证书打包的 ipa,不可以直接安装到手机上。

申请发布(Production)证书

  1. 在证书管理页面选择 “Certificates” 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
  1. 在 “Software” 栏下选中 “App Store and Ad Hoc”,点击 “Continue”:
  1. 接下来同样需要用到之前生成的证书请求文件,点击“Choose File…”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
  1. 生成证书成功,选择“Download” 将证书下载到本地 (ios_production.cer):
  1. 同样双击保存到本地的 ios_production.cer 文件将证书导入到 “钥匙串访问”工具中,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出xxxxxx”:
  1. 输入文件名、选择路径后点击 “存储”:
  1. 输入密码及确认密码后点击 “好”:
  1. 如果弹出需要登录钥匙串的密码,输入当前设备账户密码即可。
  1. 至此,我们已经完成了发布证书的制作(得到了 xxx.p12 证书文件),接下来,继续生成发布描述文件

申请发布 (Distribution) 描述文件

  1. 在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
  1. 在 “Distribution” 栏下选中 “App Store”,点击“Continue”按钮:
  1. 这里要选择之前创建的 “App ID” (这里是“uni.xxxxxxxxx”),点击“Continue”:
  1. 接下来选择需要绑定的发布证书(iOS Distribution),这里勾选刚刚生成的发布证书”,点击“Continue”:
  1. 接下来输入描述文件的名称(如“AppProfileDistribution”), 点击 “Generate” 生成描述文件:
  1. 然后点击 “Download” 将描述文件下载到本地(文件后缀为 .mobileprovision),
  1. 至此,我们已经得到了发布证书(.p12)及对应的发布描述文件(.mobileprovision)。