免费开源的iOS开发学习平台

iOS开发证书(调试证书)管理

苹果公司对于程序真机调试以及应用发布都采取了比较严格的措施进行管理和控制,通过证书来管理相关的权限。常见的证书有3类:开发证书(调试证书)、发布证书以及消息推送证书。本章节主要讲解开发证书的管理。

开发证书简介

在iOS9以及Xcode7之前,假如需要使用真机进行调试,是必须要有开发证书(调试证书)的,iOS9/Xcode7发布后,苹果修改了真机调试的策略,只要拥有appleID即可进行真机调试。但是在进行团队开发过程中,还是通常使用公司的开发证书来进行真机调试。

苹果对于证书的管理非常严格,不像Android可以随意调试,必须要进行繁杂的证书配置。但是对于一般工程师来说,基本不需要深入掌握苹果证书管理的原理,主要掌握本文介绍的使用方法即可。

对苹果设备进行真机调试时,需要提前准备好两个文件:P12文件以及Provisioning文件,接下来分别介绍下如何生成P12文件和Provisioning文件。

创建CSR文件

  • 在MAC电脑上,选择LaunchPad -> 钥匙串访问。打开菜单中的如下选项,钥匙串访问 -> 证书助理 -> 从证书颁发机构申请证书,如下图所示:

  • 随意填写必填的内容,选择存储到磁盘

  • 得到文件:CertificateSigningRequest.certSigningRequest,保存在电脑本地。

创建调试证书

  • 登录苹果开发者中心(http://develop.apple.com), 选择Certificate -> Development,点击右上角的加号,开始添加一个新的调试证书

  • 选择iOS APP Development

  • 导入之前步骤中从电脑中导出的CSR文件

  • 完成添加,并下载调试证书到本地,双击后,证书导入到钥匙串中。

  • 在钥匙串中,选中证书(主要要点开选中第二级的证书),导出得到P12文件。

创建App ID

在iOS开发中,由于每个应用最终都需要到App Store中发布下载,因此,苹果要求每个发布在AppStore中的应用都必须具有唯一的App ID,相当于每个应用的身份证号码。因此对于需要真机调试以及发布的应用,我们需要提前添加其App ID。

  • 选中Identifiers -> App IDs,点击右上角加号,新增App ID。

  • 根据实际需要填写App ID(Explicit App ID),对应特定App的bundle ID,也可以选择Wildcard App ID,所有App均可使用;

  • 点击Register按钮,完成App ID的创建。

  • 完成添加后,可以查看到添加的所有App ID。

添加设备

对于需要调试应用的设备,我们也需要提前注册登记,也就是说,苹果的证书管理机制要求开发者只能够在指定的设备上调试指定的程序。

  • 连接iPhone/iPad等到电脑,打开Xcode。在Xcode中,选择window -> Devices,选中设备,拷贝Identifier字符串,如下图所示:

  • 返回苹果开发者中心,选择Devices,点击右上角加号,添加设备。

  • 输入前面步骤中通过Xcode获取的设备UUID。

  • 确认信息无误后,点击确认按钮。注意:每个苹果账号可以绑定的设备数量是有限的,在注册设备过程中,会给出提示。

  • 添加完成后,可以查看所有已经添加过的设备信息。

创建Provisioning Profile

在前面的步骤中,我们创建了App ID,并且添加了需要调试的设备ID,而Provisioning Profile是把App ID以及设备ID进行绑定的文件,生成Provisioning Profile后,需要导入到Xcode中,在程序编译过程中,会校验程序的App ID以及真机的设备ID与Provisioning Profile中绑定的是否一致。

  • 选择Provisioning Profiles,点击右上角加号,新增Provisioning文件;

  • 选择iOS App Development,创建用于程序调试的Provisioning Profile文件。

  • 选择该Provisioning文件可以调试的App ID。

  • 选择对应的证书,一般情况下只有一个。

  • 选择该Provisioning Profile文件包含的设备。

  • 生成Provisioning Profile后,下载到本地,得到mobileprovision文件,双击该文件后可以导入到Xcode中。

  • 添加完成后,可以查看所有已经添加的Provisioning Profile文件。