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

iOS有两种证书和描述文件:

证书类型 使用场景
开发(Development)证书和描述文件 用于开发测试
发布(Distribution)证书和描述文件 用于提交 AppStore审核发布

准备环境

  1. 必需要有苹果开发者账号,并且加入了 “iOS Developer Program”
  2. Mac OS 10.9以上系统(如果已经申请p12证书则不需要)

登录 iOS Dev Center

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

证书及描述文件

我们从头开始学习一下如何申请开发证书、发布证书及相对应的描述文件。

首先需要申请苹果 App ID (App的唯一标识)

如果已经申请,可跳过此节

1. 选择页面的 “Identifiers" 可查看到已申请的所有 App 应用标识,点击页面上的加号来创建一个新的应用标识:
step1
2. 选择标识类型为 “App IDs”,然后点击 “Continue”
step2
3. app的直接下一步
step3
4. Bundle ID 选择 “Explicit”,在 Description 中填写描述,然后填写 Bundle ID,Bundle ID 要保持唯一性,建议填写反域名加应用标识的格式 如:“com.google.yourappname”,

选择应用需要使用的服务(如需要使用到消息推送功能,则选择“Push Notifications”),然后点击 “Continue”

注意:如果App用不到的服务一定不要勾选,以免响应审核
step4
5. 确认后选择注册
step5
6. 回到 identifiers 页面即可看到刚创建的App ID。
step6

至此,App ID 已经创建完毕。
接下来开始创建开发证书,在创建开发证书前,需要先生成证书请求文件

生成证书请求文件

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

打开 “钥匙串访问” 工具:
2-1.png
打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书...”:
2-2.png
打开创建请求证书页面,在页面中输入用户邮件地址、常用名称,选择存储到磁盘,点击 “继续” :
2-3.png

文件名称为“CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请开发(Development)证书和发布(Production)证书时需要用到


2-4.png

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

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

申请开发(Development)证书

1、在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
3-1.png
2、在 “Software” 栏下选中 “iOS App Development” 然后点击 “Continue”:
3-2.png
3、接下来需要用到刚刚生成的证书请求文件,点击“Choose File...”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
3-3.png
4、生成证书后选择 “Download” 将证书下到本地 (ios_development.cer):
3-4.png
5、双击保存到本地的 ios_development.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”:
3-5.png
6、输入文件名'development'、选择路径后点击 “存储”:
3-6.png
7、输入密码及确认密码后点击 “好”:
3-7.png

至此,我们已经完成了开发证书的制作(得到了 development.p12 证书文件),接下来,继续生成开发阶段所需的描述文件,在生成描述文件之前,需要先添加调试设备(iPhone 、iPad)

添加调试设备

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

在证书管理页面选择 “Devices”,可查看到已添加的所有设备信息,点击页面上的加号来添加一个新设备:


3-8.png

填写设备名称 和 UDID(设备标识),输入完成后,点击“Continue” 继续完成添加即可;


3-9.png

获取设备UDID方法,将设备连接到电脑,启动 iTunes,点击此区域可切换显示设备的 UDID,右键选择复制

申请开发 (Development) 描述文件

1、在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
3-10.png
2、在 “Development” 栏下选中 “iOS App Development”,点击“Continue”按钮:
3-11.png
3、这里要选择之前创建的 “App ID” (com.google.yourappname),点击“Continue”:
3-12.png
4、接下来选择需要绑定的证书,这里建议直接勾选 “Select All”,点击“Continue”:
3-13.png
5、选择授权调试设备,这里建议直接勾选 “Select All”,点击 “Continue”:
3-14.png
6、输入描述文件的名称(如“dev_appname”), 点击 “Generate” 生成描述文件:
3-15.png
7、点击“Download”下载保存开发描述文件(文件后缀为 .mobileprovision)
3-16.png

至此,我们已经得到了开发证书(.p12)及对应的描述文件(.mobileprovision),接下看一下如何制作发布证书及发布描述文件。

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

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

申请发布(Production)证书

1、在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
4-1.png
2、在 “Software” 栏下选中 “App Store and Ad Hoc”,点击 “Continue”:
4-2.png
3、接下来同样需要用到之前生成的证书请求文件,点击“Choose File...”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
4-3.png
4、生成证书成功,选择“Download” 将证书下载到本地 (ios_distribution.cer):
4-4.png
5、同样双击保存到本地的 ios_distribution.cer 文件将证书导入到 “钥匙串访问”工具中,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”:
4-5.png
6、输入文件名、选择路径后点击 “存储”:
4-6.png
7、输入密码及确认密码后点击 “好”:
4-7.png

至此,我们已经完成了发布证书的制作(得到了 distribution.p12 证书文件),接下来,继续生成发布描述文件

申请发布 (Distribution) 描述文件

1、在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
4-8.png
2、在 “Distribution” 栏下选中 “App Store”,点击“Continue”按钮:
4-9.png
3、这里要选择之前创建的 “App ID” (com.google.yourappname),点击“Continue”:
4-10.png
4、接下来选择需要绑定的发布证书(iOS Distribution),这里勾选刚刚生成的发布证书”,点击“Continue”:
4-11.png
5、接下来输入描述文件的名称(如“name_distribution”), 点击 “Generate” 生成描述文件:
4-12.png
6、然后点击 “Download” 将描述文件下载到本地(文件后缀为 .mobileprovision)
4-13.png

至此,我们已经得到了发布证书(.p12)及对应的发布描述文件(.mobileprovision)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342