如何申请 iOS 证书
一、账号类型与名词解释
首先我们来认识一下苹果开发者账号类型和几个专业名词:
苹果开发者账号类型:
$99/年 (可上架 App Store)
- 个人版
- 公司版 (可创建团队添加开发成员)
$299/年 企业版 (不可上架 App Store, 可创建团队添加开发成员)
专业名词:
- 钥匙串文件
- 证书
- 软件 (Software)
- 开发证书
- 发布证书
- In House 发布证书
- 服务 (Service)
- 开发推送证书 (Sandbox)
- 发布推送证书 (Sandbox & Production)
- 导出副本
- P12 证书 (Keychain)
- 软件 (Software)
- 应用 ID (bundleID)
- 应用描述配置文件
| 名词 | 解释 | 对应英文 | 文件后缀名 |
|---|---|---|---|
| 钥匙串文件 | 申请证书所需的密钥文件 | Certificate Signing Request | .certSigningRequest |
| 开发证书 | 让开发者使用的设备有真机调试的权限 | Certificate -> Software -> iOS App Development | .cer |
| 开发推送证书 | 让开发者使用的设备有真机调试推送功能的权限 | Certificate -> Service -> Apple Push Notification service SSL (Sandbox) | .cer |
| 发布证书 | 让开发者有发布 App 的权限,可以上架 App Store | Certificate -> Software -> iOS App Distribution (App Store Ad Hoc) | .cer |
| 发布推送证书 | 让开发者有 “上架APP” 推送功能的权限 | Certificate -> Service -> Apple Push Notification service SSL (Sandbox & Production) | .cer |
| In House 发布证书 | 只有 $299/年 的开发者账号才能申请,让开发者有发布 App 的权限,不可以上架 App Store,无需通过苹果审核,任何设备都可以安装 App | Certificate -> Software -> In House and Ad Hoc | .cer |
| P12 证书 | 让第三方开发工具或平台有开发、调试、打包的权限,有时也叫 Keychain | 无 | .p12 |
| 应用 ID | 项目包名,即 bundleID | Identifiers | 字符串,非文件 |
| 应用描述配置文件 | 让开发者的项目能有真机调试,发布的权限 | Profiles | .mobileprovision |
证书 和 P12 证书的区别:
| 项目 | 证书 | P12 证书 |
|---|---|---|
| 后缀名 | .cer | .p12 |
| 图标表示 | 蓝色边框和字体 | 黑灰色边框和字体 |
| 所含密钥 | 公钥 | 公钥和私钥 |
| 使用者 | 开发者,项目创建者,Xcode |
第三方开发工具或平台,如lbuilder、phonegap、HBuilder、AppCan、APICloud |
| 来源 | 通过钥匙串文件在苹果开发者官网申请生成 | 由证书导出 |
二、申请流程
然后我们梳理一下申请流程,我们需要用到的设备是一台可以联网的 Mac,执行以下步骤
- 1 创建钥匙串文件
- 2 申请证书 (需要上一步钥匙串文件)
- 3 创建应用 ID (如果已创建则可以跳过)
- 4 添加调试设备
- 5 创建应用描述文件 (需要证书和上一步的应用 ID)
- 6 导出 P12 证书 (需要证书和密钥)
确保 步骤1 和 步骤6 在同一台 Mac 上进行,否则将无法导出 P12 证书
如果我们是第一次申请证书,那么 步骤1 到 步骤6 都要执行一遍
如果我们之前申请过证书,那么只要我们在之前申请证书的设备上执行 步骤3 到 步骤6 即可,如果应用 ID 已经创建,则可以跳过 步骤3
如果申请发布证书或 In House 类型证书,或者测试设备已经添加过了,则可以跳过 步骤 4
申请推送证书只需要执行 步骤1、步骤2 和 步骤6 即可
接下来我们就开始吧。
1. 创建钥匙串文件
在 Mac 上 打开 “钥匙串访问” 程序,一般在 其他 中,找不到的话可以在右上角搜索
然后点击上方钥匙串访问栏->证书助理->从证书颁发机构请求证书…
填写一个邮箱地址,选择 “存储到磁盘”,点击继续
文件名称为 CertificateSigningRequest.certSigningRequest,选择保存位置,点击 “存储” 保存到指定路径下,钥匙串文件就创建完成了。
2. 申请证书
登录 苹果开发者网站 https://developer.apple.com, 点击 Account
输入 苹果开发者帐号和密码 登录
在左侧菜单栏中或者中间内容区域点击 Certificates, Identifiers & Profiles 进入 “证书、ID、描述文件” 管理
在证书管理页面,可以看到所有已经申请的证书及描述文件;在 Certificates栏目下点击页面的加号来创建一个新的证书:
如果我们要申请 APP 开发证书,则在 Software 栏下选中我们要申请的证书类型,
如果我们的账号类型是 $99/年,
- 如果我们是 Xcode 原生开发,则选择对应的 开发证书
Apple Development或发布证书Apple Distribution - 否则我们 开发证书选择
iOS App Development, 发布证书选择iOS Distribution (App Store and Ad Hoc)
- 如果我们是 Xcode 原生开发,则选择对应的 开发证书
如果我们的账号类型是 $299/年,
- 选择 In House and Ad Hoc
如果我们要申请 推送服务 证书,则在 Service 栏下选中我们要申请的证书类型
- 开发推送证书选择
Apple Push Notification service SSL (Sandbox) - 发布推送证书选择
Apple Push Notification service SSL (Sandbox & Production)
然后点击 Continue:
接下来需要用到 步骤1 生成的证书请求文件,也就是钥匙串文件,点击 Choose File... 选择刚刚保存到本地的 CertificateSigningRequest.certSigningRequest 文件,点击 Continue 生成证书文件:
生成证书后选择 Download 将证书下到本地:
3. 创建应用 ID (App ID,Bundle ID)
选择页面的 Identifiers 可查看到已申请的所有 App 应用标识,点击页面上的加号来创建一个新的应用标识:
选择标识类型为 App IDs,然后点击 Continue
平台选择 iOS,tvOS,watchOS,Bundle ID 选择 Explicit,在 Description中填写描述,然后填写 Bundle ID,Bundle ID 要保持唯一性,建议填写反域名加应用标识的格式 如:com.xxx.myappname, 然后点击 Continue
注意:在第三方开发平台中 App 提交云端打包时界面上的 AppID 栏或者在证书配置里填写的就是这个 Bundle ID
接下来需要选择应用需要使用的服务(如需要使用到消息推送功能,则选择Push Notifications),然后点击 Continue
注意:如果 App 要上架 App Store, 用不到的服务一定不要勾选,以免响应审核
确认后选择提交,回到 identifiers 页面即可看到刚创建的应用 ID:
至此,应用 ID 已经创建完毕。
4. 添加调试设备
开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装 App,所以在申请开发描述文件之前,先添加调试的设备,如果已经添加设备,可跳过此步骤。
在证书管理页面选择 Devices,可查看到已添加的所有设备信息,点击页面上的加号来添加一个新设备:
填写设备名称 和 UDID(设备标识):
获取设备UDID方法,将设备连接到电脑,启动 iTunes,点击此区域可切换显示设备的 UDID,右键选择复制,输入完成后,点击 Continue 继续完成添加即可;
接下来继续申请描述文件
5. 创建应用描述文件
在证书管理页面选择 Profile,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
选择我们要创建的描述文件类型,
如果我们的账号类型是 $99/年,
如果我们要创建开发描述文件,则在
Development栏下选中iOS App Development如果我们要创建发布描述文件,则在
Distribution栏下选中App Store
如果我们的账号类型是 $299/年,
- 在
Distribution栏下选择 In House
- 在
点击Continue按钮:
这里要选择 步骤3 创建的 应用 ID (App ID,Bundle ID),点击Continue:
接下来选择需要绑定的证书,也就是 步骤2 申请的证书, 点击Continue:
从2020年春季开始,只有具有关联的部署描述的应用ID才有资格生成新的 In House 配置文件。
如果要创建的是开发描述文件,则要选择授权调试设备,这里建议直接勾选 Select All,点击 Continue:
输入描述文件的名称, 点击 Generate 生成描述文件:
点击 Download 下载保存开发描述文件(文件后缀为 .mobileprovision)
至此,对应的描述文件(.mobileprovision) 创建完成;
6. 导出 P12 证书
双击 步骤2 下载的证书, 打开证书将其安装到钥匙串,若弹出安装提示,选择安装到登录,在钥匙串中找到安装的证书
若提示此证书是由未知颁发机构签名的
请下载 Apple Worldwide Developer Relations Certification Authority证书进行安装
地址http://developer.apple.com/certificationauthority/AppleWWDRCA.cer
在左边选择 登录 和 我的证书,找到证书,在证书上面点击鼠标右键,然后在菜单中选择导出证书,如图:
在弹出页面中指定证书名,点击存储,然后输入证书密码(此密码在第三方开发平台页面输入),点击好,生成 p12 格式证书。
至此,我们现在 有了
- 钥匙串文件
- 证书(或推送证书),分**[开发,发布,In House]**类型
- 应用 ID (Bundle ID)
- 证书导出的 P12证书(或推送证书导出的 推送P12证书),分**[开发,发布,In House]**类型
- 应用描述文件,分**[开发,发布,In House]**类型
一般第三方平台所需要的是 证书导出的 P12证书 和 应用描述文件,同时需要填写 应用 ID 和导出 P12 证书时设置的密码。
参考资料
本博客遵循署名 4.0 协议国际版 (CC BY 4.0)协议
本文链接:https://xuefeng.is-a.dev/archives/how-to-request-the-ios-certificate
Ailpay
Wechat