iOS开发证书、bundle ID、App ID、描述文件、p12文件,及企业证书打包发布详述

1 .iOS开发证书,描述文件,bundle ID的关系

苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制。这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布证书(又叫“生产证书”),开发描述文件,发布描述文件,推送证书等...。初级开发者很难理解这中间的关系和作用。下文就对上述列出的关键内容和它们的关系做个详细介绍。

  • 开发者账号
    开发者账号其实就是apple id,只不过要成为开发者,需要去苹果开发者中心激活开发权限。激活开发者账号分为三种,个人,公司和企业。这三种账号各自有些区别,下表是他们主要区别的对比:
账号类型 支持applestroe上架 测试设备数量 申请费用 申请需要
个人 100 99$
公司 100 99$ 邓氏码
企业 不限 299$ 邓氏码

所以如果应用需要上appstroe,就要创建个人或者公司类型的账号;
如果只想内部发布,就可以申请企业账号;
个人账号和公司账号的区别就是公司账号能邀请多个账号,他们可以和你共享资源协同开发此应用,而不需要总是问你要你的账号使用。

  • bundle ID
    bundle ID可以翻译成包ID,也可以叫APP ID 或应用ID,它是每一个ios应用的全球唯一标识。无论代码怎么改,图标和应用名称怎么换,只要bundle id没变,ios系统就认为这是同一个应用。每开发一个新应用,首先都需要到member center->identifier->APP IDS去创建一个bundle id。但是bundle id分为两种:
    Explicit App ID(明确的APP ID),一般格式是:com.domainname.appname。这种id只能用在一个app上。每一个新应用都要创建一个。
    Wildcard App ID(通配符APP ID), 一般格式是:com.domainname.*。这种id可以用在多个应用上,虽然方便,但是使用这种id的应用不能使用通知功能,所以并不常用。

  • iOS Certificates(证书)
    ios certificates就是证书。它的作用就是证明你的mac具有开发或发布某个开发者账号下应用的权限。而且证书还分成两种,一种是开发证书(Development certificate); 另一种是发布证书或叫生产证书(Production certificate)
    1 .development certificate
    开发证书是证明你的mac具有开发和真机调试你的程序的东西。但是每个证书关联着一个开发者账号,也就是说,你只能使用这个证书开发这个账号底下的应用,它是通过bundle id来知道该应用是不是属于自己的账号。所以每次为一个开发者帐号开发应用,就得需要这个账号创建的开发证书。
    2 .Production certificate
    生产证书是证明你的mac是否具有发布应用的权限。在archive到appstore的时候,必须有生产证书,否则时上传不成功的。
    3.根证书
    无论是开发证书还是生产证书,都必须从根证书上派生。根证书就是根mac产生的证书,menber center上保存的那个证书就是根证书,它只能安装在创建它的那台mac上,其他的开发mac必须从那台根mac上导出证书使用。也就是所有的子证书都只能从根证书派生而来。

  • iOS Provisioning Profiles(描述文件)
    描述文件它用来标识某个设备是否具有安装某个应用的权限。描述文件分为开发描述文件发布描述文件。其中发布描述文件又分为临时发布描述文件和正式发布描述文件。
    1 . 开发描述文件(develop provisioning profile)
    开发描述文件,创建它需要bundle ID + 开发证书 + 测试设备(在devices中添加); 编译的时候必须三者对应,否则编译器会报错。
    2 . 临时发布描述文件(distribution ad hoc)
    临时发布描述文件是用来在有限设备上发布的。创建它需要bundle ID +发布证书+发布设备,编译时也必须三者对应。
    3 . 正式发布描述文件(distribution appstore/distribution ad house)
    个人账号和企业账号创建的正式发布描述文件是不同的。因为个人账号是在appstrore上发布,所以创建的是distribution appstore描述文件,而企业账号只能内部发布,所以创建的叫distribution ad house描述文件。但是它们创建所需要的东西都是一样的:bundle ID + 发布证书因为他们是在不确定的设备上安装的,所以不需要选择设备。


2. Apple开发账号添加团队成员

申请了一个公司或企业级的苹果开发者账号,可以添加团队成员协同开发。
团队成员有三种角色,分别是 Agent (代理), Admin (管理),Member (成员)。
代理: 就是注册开发者账号的那一个,权限最高,续费和创建开发商证书只能使用该账号;
管理: 管理分发证书、管理测试设备、管理应用配置等等;
成员: 没有管理权限,只能下载和请求数据。
关于团队成员的详细介绍,可见:官方文档
开发者中心登录开发者账号,可以看到开发者信息如下:

成员结构图.png

添加团队成员:
1 . 使用代理或管理员账号登录开发者中心
2 . 选中People

image.png

3 . 选择邀请人Invite People
image.png

4 .可以邀请成为管理员或者成为开发人员,填写对应开发者AppleID的邮箱地即可(可以填写一个或多个),需要在30天内接受。
image.png

5 . 点击Invite按钮后,被添加人的邮箱会受到一封邮件,点击View invitation,然后选择Accept接受成为开发者。
image.png

image.png

这样就添加了一个新的开发者。

6.可以更改其他管理员成员权限或者移除其他管理员和成员

image.png

参看官方文档

3 .开发证书,生产证书,描述文件,AppID关系及生成。

  • 首先要申请证书,申请苹果开发者账号教程,还没有的话申请一个或者借用、这里不再详叙。
    登录开发者中心,如果还没申请证书,界面如下:
    没有证书界面.png

    如果有证书登录界面如下:
    已经申请过证书登录界面.png
  • 有账号后就可以正式开发上架了,具体流程如下:
    1 .生成开发和发布证书
    (1).通过钥匙串获取证书请求文件Certificate Signing Request (CSR)文件
    选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如下图:
    image.png

    填写邮件地址和常用名称,选择“存储到磁盘”,会生成一个CSR文件到本地磁盘。
    image.png

    生成的CSR.png

    (2) . 登录开发者中心,选择Certificates, Indentifiers & Profiles可以获取开发和发布证书。
    Certificates -> All -> +
    image.png

    选择In-House and Ad Hoc是发布证书,选择iOS App Development是打包证书。下面选择发布证书
    image.png

    Choose File选择生成的的CSR文件,点击generate生成cer证书。
    image.png

    可以看见生成的开发和生产证书如下:
    开发证书.png

    生产证书.png

    选择Download下载到本地,然后双击或拖拽到钥匙串中安装
    下载证书.png

    安装后的开发和发布证书.png

    2 . 生成App ID。
    选择Identfiers -> App IDs -> +
    image.png

    Name 可以随便填,但不能是中文和特殊符号,主要起描述作用。
    Bundle ID就是App的Bundle ID完全一样,全球唯一,一般格式是:com.domainname.appname。
    注册App ID.png

    还可以选择NFC,推送等功能,选中Continue -> Register -> Done ;就完成了App ID 的注册。
    其他服务功能.png

    App ID注册成功.png

3 . 生成描述文件Provisioning Profile(企业版不需要device即iPhone的UDID,因此跳过)。
选择Provisioning Profile->All -> +:

点击加号生产描述文件.png

iOS App Development是开发证书的描述文件,n House是企业发布证书的描述文件。
选择要生成的描述文件的类型.png

选择刚刚生产的App ID,点击Continue。
image.png

选择刚刚生产的开发或发布证书:
选中证书.png

填写描述文件名称,可以随便填,便于自己理解就好。
填写描述文件名称.png

可以下载描述文件双击安装,也可以去项目中Xcode的偏好设置去下载安装:
下载安装.png

Xcode中下载安装描述文件.png

现在应用程序就可以打包上线啦!

4.证书导出p12文件

  • 为什么要导出.p12文件?
    当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,6个开发证书,可以发现再也申请不了开发证书和发布证书了。(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)会提示超过了最大数量,并且不能选择生产证书了。如下图:
    image.png
  • 不能添加证书的解决办法。
    1 .撤销(Revoke)已经生成的证书(不建议使用),然后重新生成一个新的证书。如下图:
    撤销证书.png

    注意:这种方法是可以的,但是会造成相应的Provisioning Profiles失效,这是小问题。但是又要重新申请证书甚至描述文件很浪费时间,所以不提倡这种做法。
    2 . 导出.p12文件
    每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。
    注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件
    打开钥匙串->我的证书,选择要导出的证书,右键选择导出“....”证书。如下图:
    image.png

    填写要导出证书名称,保存的地址路径,文件类型选择为个人信息交换(.p12)
    image.png

    设置密码:
    设置密码.png

    生成的p12文件,将p12文件,密码,和描述文件发给别人就可正常开发啦。
    image.png

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

推荐阅读更多精彩内容