苹果开发者证书,唯一标识和配置文件的作用及使用
说明:本文将 Provisioning Profile 统一翻译为 描述文件
![](https://i-blog.csdnimg.cn/blog_migrate/8b95f79eae0c7d49d1d64f418a31094b.webp?x-image-process=image/format,png/w/1240)
1. 证书 (Certificates)
苹果要求开发者必须使用数字证书开发和发布 iOS 应用.安装应用到开发设备或者提交应用到 APP Store,首先必须验证苹果签发的证书,系统会通过证书识别出 app 的签发者.
![](https://i-blog.csdnimg.cn/blog_migrate/eeda2d3fc91b54270106c3ca8c6c8083.webp?x-image-process=image/format,png/w/1240)
根据需求选择证书的类别,开发使用选择开发证书,发布到 App Store 选择生产证书
![](https://i-blog.csdnimg.cn/blog_migrate/3ac9a9b6d33ff349ee0cb52ee3612505.webp?x-image-process=image/format,png/w/1240)
![](https://i-blog.csdnimg.cn/blog_migrate/1e578ce52151aa510df87a28b86fd0e6.webp?x-image-process=image/format,png/w/1240)
手动创建证书 首先需要你在Mac本地生成一个签发证书请求文件(CSR),然后上传即可
![](https://i-blog.csdnimg.cn/blog_migrate/039ded87b1937193e3a0e2ab34bea743.webp?x-image-process=image/format,png/w/1240)
打开 Mac 钥匙串应用 钥匙串访问菜单选择 证书助理 -> 从证书颁发机构请求证书
![](https://i-blog.csdnimg.cn/blog_migrate/2d0232b122909d202a4aa04c9644f0cb.webp?x-image-process=image/format,png/w/1240)
填入用户电子邮件地址,选择存储到磁盘
![](https://i-blog.csdnimg.cn/blog_migrate/357e4e42ff8a1cf7be7541ea4eef395a.webp?x-image-process=image/format,png/w/1240)
选择一个目录存储 CSR 文件
![](https://i-blog.csdnimg.cn/blog_migrate/31e558842f5ebcfd8abaa24964b67c27.webp?x-image-process=image/format,png/w/1240)
回到苹果开发者网站
![](https://i-blog.csdnimg.cn/blog_migrate/d15c14dffed85057792632f5b6068997.webp?x-image-process=image/format,png/w/1240)
上传刚才生成的 CSR 文件
![](https://i-blog.csdnimg.cn/blog_migrate/6872e62f441efe61ace27c5f4aee771c.webp?x-image-process=image/format,png/w/1240)
![](https://i-blog.csdnimg.cn/blog_migrate/82abfbaadef19cb1ccc9a0c23c1e7066.webp?x-image-process=image/format,png/w/1240)
可以看到上传成功的 CSR 文件
![](https://i-blog.csdnimg.cn/blog_migrate/3491085141c9e84d1a09b17186114efb.webp?x-image-process=image/format,png/w/1240)
证书已经生成,下载证书到本地,然后双击即可.
![](https://i-blog.csdnimg.cn/blog_migrate/7ea98e87b039c002bbf4fc59c3632183.webp?x-image-process=image/format,png/w/1240)
在钥匙串中可以看到已经安装的证书
![](https://i-blog.csdnimg.cn/blog_migrate/e1a9efeeef31587d98c0fd26ca1b8bc6.webp?x-image-process=image/format,png/w/1240)
2. App IDs (Identifiers)
如果你打算使用 Game Center,内购,数据保护,iCloud等应用服务或者想让一个app使用唯一的描述文件,请使用明确的 App ID,明确的 App ID 是一个唯一的字符串并且和Xcode中项目的 Bundle ID 一致.
而通配 App ID 允许多款不同的 app 共同使用.
![](https://i-blog.csdnimg.cn/blog_migrate/3b7946fc3caa5f3a24c1c82d6471279e.webp?x-image-process=image/format,png/w/1240)
选择你的应用想要集成的服务,可多选
![](https://i-blog.csdnimg.cn/blog_migrate/d76e389ee419a3832643149ceb88c5c5.webp?x-image-process=image/format,png/w/1240)
3. 设备 (Devices)
在 app 上线之前,分发应用给相关人员内测,需要将相关设备的 UDID 添加到 Devices 注册.
注意每次注册新的 设备 UDID 后,需要在对应的 Provisioning Profile 中添加该设备.
![](https://i-blog.csdnimg.cn/blog_migrate/a44ccfdd32e35363171ebbdce8fcd435.webp?x-image-process=image/format,png/w/1240)
已添加的设备列表 前面为设备的 名称,后面为设备的 UDID
![](https://i-blog.csdnimg.cn/blog_migrate/d29d763d74a131ce1250668b3e6c7d7a.webp?x-image-process=image/format,png/w/1240)
UDID 的获取:
- iPhone 连接 iTunes
- 使用蒲公英获取UDID
- 使用fir.im获取UDID
苹果允许添加的测试设备数量上限为 100, 关于iOS测试机个数上限的详细规则
目前 fir.im 分发测试应用限制比较多,推荐使用蒲公英来做iOS测试应用的分发
4. 描述文件 (Provisioning Profiles)
描述配置文件,是 Certificate, Identifier和Devices的合集
![](https://i-blog.csdnimg.cn/blog_migrate/35bb6857b59b9604cfd7df9eb762d84a.webp?x-image-process=image/format,png/w/1240)
根据需求选择相应的描述配置文件类型
![](https://i-blog.csdnimg.cn/blog_migrate/6f67725fe02330b16828c2710d8b30a2.webp?x-image-process=image/format,png/w/1240)
选择相应的 App ID
![](https://i-blog.csdnimg.cn/blog_migrate/044cf6d3c04168ecb6c4defc75c88af6.webp?x-image-process=image/format,png/w/1240)
若你刚才选择的是开发类型 Provisioning Profile,这一步苹果很人性化的只给出相应的开发证书选项
![](https://i-blog.csdnimg.cn/blog_migrate/79a6341b5b13fd4500ecfbaca14efb42.webp?x-image-process=image/format,png/w/1240)
选中你想要添加的测试机名称,没特殊要求全选即可
![](https://i-blog.csdnimg.cn/blog_migrate/86888a3fdb400475a559fb9bbb3dad9a.webp?x-image-process=image/format,png/w/1240)
开发类型的描述文件中包含了 App ID,证书和测试设备
![](https://i-blog.csdnimg.cn/blog_migrate/868b7ddec699bb30e34d02be323cd371.webp?x-image-process=image/format,png/w/1240)
生产类型的描述文件中则不含有测试设备
![](https://i-blog.csdnimg.cn/blog_migrate/de6fb629ee9a047c65948d587b4b65f1.webp?x-image-process=image/format,png/w/1240)
生成描述文件(此处为生产类型)
![](https://i-blog.csdnimg.cn/blog_migrate/6c83b90f6e9ce633fb63794a84d454af.webp?x-image-process=image/format,png/w/1240)
双击下载下来的描述文件,屏幕一闪,此时描述文件就已经安装到Xcode中了
![](https://i-blog.csdnimg.cn/blog_migrate/d91c458ef2efe559b037a36ac07a966b.webp?x-image-process=image/format,png/w/1240)
PS:
若希望在另一台Mac上也可以打包分发或发布应用,则需要在另一台Mac上安装描述文件和 p12 证书.
如何导出 p12证书:
在已经安装的证书中选中想要导出的证书右击选择导出.(没有导出选项可以删除此证书,重新安装)
![](https://i-blog.csdnimg.cn/blog_migrate/5ab1e4e2d720bc48e22c567145847768.webp?x-image-process=image/format,png/w/1240)
确保导出的文件格式为 p12
![](https://i-blog.csdnimg.cn/blog_migrate/68393cdfe12bf301d57f773b464de020.webp?x-image-process=image/format,png/w/1240)
选择存储,将会要求你输入一个密码,在另一台Mac上安装此证书时也会被要求输入此密码来完成认证,为了省事可以不用输入
![](https://i-blog.csdnimg.cn/blog_migrate/70c082f109db42b82c2ed6721f8abd1e.webp?x-image-process=image/format,png/w/1240)
在另一台Mac上双击安装下图中 .p12 格式和 .mobileprovision 格式的两个文件即可
![](https://i-blog.csdnimg.cn/blog_migrate/fba8d268344e0c24ecab23bc82454832.webp?x-image-process=image/format,png/w/1240)
描述文件需要证书的支持,若你删除了描述文件中包含的证书,则该描述文件将会变成不可用无效状态
![](https://i-blog.csdnimg.cn/blog_migrate/25ce1534a83ffe0b0313eb60f345b957.webp?x-image-process=image/format,png/w/1240)