帮助中心

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

发布时间:2022-12-26 18:50:06

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 (成员)。

代理: 就是注册开发者账号的那一个,权限最高,续费和创建开发商证书只能使用该账号;

管理员: 管理分发证书、管理测试设备、管理应用配置等等,可以有多个;

成员: 没有管理权限,只能下载和请求数据,可以有多个。

关于团队成员的详细介绍,可见:官方文档

去开发者中心登录开发者账号,可以看到开发者信息如下:




添加团队成员:

1 . 使用代理或管理员账号登录开发者中心

2 . 选中People


3 . 选择邀请人Invite People


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


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



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


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