一、Apple开发者账号介绍
1.开发者账号共有三种类型:个人级、公司级、企业级。公司和企业都属于“组织”大类,可多人协作。在苹果的开发者平台登录后,可在People界面邀请其他人员协作开发,邀请的人需要注册一个apple id 邮箱,并且可以设置开发人员的权限。
![](https://i-blog.csdnimg.cn/blog_migrate/d7a5f5b8616660aff762a2267e400dd1.png)
2.辨别你手中账号是什么类型:
A:个人级:登录后的页面如下图:红色马赛克下方是:Apple Developer Program,再下方,只有Certificates,identifiers&Profiles和App Store Connect两个图标,第一个图标是开发者证书、App ID和描述文件生成的入口,第二个图标是将APP上传到App Store的入口。
![](https://i-blog.csdnimg.cn/blog_migrate/68efde4a9e5e872c276e15a5f0ee125d.png)
B:公司级:登录后的页面如下图:红色马赛克下方是:Apple Developer Program,再下方,有People、Certificates,identifiers&Profiles和App Store Connect三个图标,第一个图标邀请其他开发人员的入口,第二个图标是开发者证书、App ID和描述文件生成的入口,第三个图标是将APP上传到App Store的入口。
![](https://i-blog.csdnimg.cn/blog_migrate/540dba5cf482a2094836d3b12f74219c.png)
C:企业级:登录后的页面如下图:红色马赛克下方是:Apple Developer Enterprise Program,再下方,有People、Certificates,identifiers&Profiles两个图标,第一个图标邀请其他开发人员的入口,第二个图标是开发者证书、App ID和描述文件生成的入口。
![](https://i-blog.csdnimg.cn/blog_migrate/a8df78893a525722d7cbfa2c5c6b3c33.png)
对比:
1、个人(Individual):
(1)费用:99美元每年
(2)App Store上架:是 只能上架到App Store
(3)最大UDID支持数:100台
(4)协作人数:1人(开发者自己)
说明:“个人”开发者可以申请升级“公司”,可以通过拨打苹果公司客服电话(400 6701 855)进行咨询办理。
2、公司(Company):
(1)费用:99美元每年
(2)App Store上架:是只能上架到App Store
(3)最大UDID支持数:100台
(4)协作人数:多人
允许多个开发者进行协作开发,比一个人多一些账号管理设置,可以设置多个Apple ID,分为4种级别的权限。
说明:申请时需要填写公司的邓白氏码(DUNS Number)
2、企业(Enterprise):
(1)费用:299美元每年
(2)App Store上架:否(不能上架到App Store,只能企业内部使用)
(3)最大UDID支持数:不限制
(4)协作人数:多人
允许多个开发者进行协作开发,比一个人多一些账号管理设置,可以设置多个Apple ID,分为4种级别的权限。
说明:申请时需要填写公司的邓白氏码(DUNS Number),注意:只能企业内部使用,否则有被封号的风险。
总结:
1.个人级和公司级都有App Store Connect,表明这两种只能上架App Store供用户下载。而企业级的没有,表明APP不能上架App Store,可通过 item-services分发来下载。
2.企业级账号,每年至少重新打包ipa一次,ipa包中有证书信息,证书的有效期是一年,一年不更新,APP将闪退,无法进入。(即每年至少更新一次,无设备数量限制)。个人/公司级别的没有限制,只要成功上架到App Store,如果没有特殊情况,理论可以放到苹果公司倒闭也不用去更新。
3.企业级账号,安装后需要去设置中信任APP,系统级限制,无法跳过。个人/公司级没有该限制。
4.企业级账号,只能放在自己的服务器或者三方平台(蒲公英)。不能上架App Store(不是难上架,是此类型账号根本就没上架App Store的功能)。
个人/公司级,只能上架到App Store。如果想放到自己的服务器,或者第三方平台。首先收集手机的UDID,添加到账号中,再打包。上面有介绍,每个账号只能添加100个UDID,也就是此类型账号,如果发布APP到自己服务器,最多只能100台手机可以安装。如果有新手机想安装,需要先收集该手机的UDID,然后添加到账号中,重新生成证书,然后重新用新证书打包,发布,最后新手机才可以安装(也就是平时打的可调试(Debug)包)。这种可调式(Debug)包的有效期也是一年。ipa包中有证书信息,证书的有效期是一年,一年不更新,APP将闪退,无法进入。(即每年至少更新一次,而且只能最多100台设备可以安装)。
5.个人和公司的区别是,协作人数的不同
公司和企业的相同点,都可以多人协作
(企业)和(个人/公司)的区别:
a.企业不能上架到App Store,个人/公司必须上架到App Store;
b.价格不同。
c.个人/公司上App Store必须经过苹果的人工审核(上架审核周期在7天左右)。更新版本也是需要经过苹果审核的(更新版本的审核周期在3天左右),审核不通过,需要iOS开发处理,所以上面的上架周期和更新周期都是最为理想的情况。咱们的产品适配包更新是不需要审核的,只有涉及到APP原生改动的,才需要提交版本,进行审核。而企业级发布到自己服务器或者第三方平台是不需要审核的。
6.问哪种账号好,答:没有好坏之分,它们各不相同,按需所取,没有绝对。
7.没有苹果账号,打不了包。
二、开发者证书、App ID、描述文件的创建
1.开发者证书:
总共有两种类型:Developer(开发证书)和Distribution(发布证书),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;
2.App ID:
顾名思义,是一个APP的唯一标示,相当于人的身份证号,如果有两个安装包A和B是同一个App ID,安装A后再安装B,B就会将A覆盖掉,取而代之。APP的更新也就是这个道理,安装了1.0版本。如果发布1.1版本,需要1.1版本的App ID和1.0的相同,手机会先去找是否有次App ID已经安装了,如果未安装,则直接进行安装1.1版本;如果发现有1.0版本,则对1.0版本进行覆盖。类似同一个文件夹下,相同名字的文件只能有一个,如果再拷贝一个相同名字的文件,就会提示是否替换掉旧的文件。
在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的App ID;
3.描述文件:
Profiles,这个东西是很有苹果特色的一个东西,我一般称之为描述文件,该文件将App ID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在描述文件中添加真机的UDID;是真机调试和上架必备之珍品;
开发流程
平常我们的制作流程一般都是按以上序列进行,先利用开发者帐号登陆开发者中心,创建开发者证书,App ID,如果在App ID中开通推送服务,在开通推送服务的选项下面创建推送证书(服务器端的推送证书见下文),之后在描述文件中绑定所有的证书id,添加调试真机等;
以下操作需要在苹果电脑上实现
4.开发者证书创建:
(1)首先登陆到开发者中心,点击Certificates,identifiers&Profiles图标,点进证书,会显示如下界面,点击右上角的加号
![](https://i-blog.csdnimg.cn/blog_migrate/0e225b57b7a466d88b94fd773a84b3fc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b66e952b908f47860d4e946c803ea00.png)
会出现以下界面,该操作重复两次,分别创建开发测试证书和发布证书,开发测试证书用于真机调试,发布证书用于提交到appStore,我们以开发证书为例,选择第一个红框中的内容;
![](https://i-blog.csdnimg.cn/blog_migrate/77ef1e02070f26e044047b7b8115a031.png)
然后下一步,会提示创建CSR文件,也就是证书签名请求文件,会有很详细的操作说明,如果英文不太好,可以参考下图;
![](https://i-blog.csdnimg.cn/blog_migrate/d79b692fea49c6421326e0b5203c69d0.png)
(1) 去Launchpad-->其他中找到 “钥匙串访问” 点击钥匙图标
![](https://i-blog.csdnimg.cn/blog_migrate/16b4049f1cdb91a905954c8159f33442.png)
(2) 生成证书请求:钥匙串访问⟶证书助理⟶从证书颁发机构请求证书
![](https://i-blog.csdnimg.cn/blog_migrate/a466a64b144223991b09b606092812eb.png)
输入两个电子邮件地址和常用名称。电子邮件地址是你注册AppleID。
a) 常用名称输入公司名称
b) 选择“存储到磁盘”。保存后的名称应该为:CertificateSigningRequest.certSigningRequest
![](https://i-blog.csdnimg.cn/blog_migrate/9d9565bb09ed640edcd4045d62eff719.png)
之后将该CSR文件保存到一处;
c) 保存到磁盘后在你的钥匙串访问窗口应该会出两个密钥,一个公钥密钥,一个专用密钥,红色部分就是你在上面输入的常用名。
![](https://i-blog.csdnimg.cn/blog_migrate/00b366bba7aef7734a84b64d45322845.png)
备注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字;
(5) 生成Certificates证书
![](https://i-blog.csdnimg.cn/blog_migrate/f519e67302919e9bca4baff1189f0eac.png)
![](https://i-blog.csdnimg.cn/blog_migrate/698ff532d059bf7beefeb9146ed32914.png)
提交上去后就会生成一个cer证书,如图所示,有效期为一年;证书可不轻易删除,可能会造成十分严重的后果(尤其是企业级的发布证书,删除后已经安装在手机上的APP将会闪退,无法使用)。会造成相应的Provisioning Profiles失效,如果是一个团队大家都在用,你把这个证书删除了,会导致别人的描述文件失效。所以不提倡删除。
![](https://i-blog.csdnimg.cn/blog_migrate/021646136230453c8d1e5a69ed5aab8c.png)
利用同样的方法配置一下Distribution发布证书,下载保存,双击安装;在钥题串登录-我的证书中可以查看
![](https://i-blog.csdnimg.cn/blog_migrate/9ae7abc0eb0ba8783c8b1f0cea20fc37.png)
5.App ID的创建
1.以上开发者证书的配置完成了,下面我们来配置App ID和推送证书;
选择 “Identifiers”的 “App IDs”,点击“+”
出现以下界面:
![](https://i-blog.csdnimg.cn/blog_migrate/6b8dec67480124d99525d1275559987e.png)
App ID Description 是一个App ID的描述,就是一个名字,这个名字可以随便取
App ID Prefix 苹果已经帮我们填了,不需要我们填,可以看出,它是一个团队的ID
Suffix
App ID Suffix 有两个选项:
Explicit App ID :顾名思义,这里要填一个明确的 App ID,
什么意思呢?可以这么来解释:我们做项目时的Bundle Identifier (Bundle ID)是用来标示我们的app的。我们的App ID也是用来标示我们的app的。这两个有什么联系呢?Explicit App ID 就是要我们确定一个唯一的Bundle ID,用来标示我们的 app,使它有一个固定的身份。可以发现,当提交应用到苹果时,如果我们一开始没写Explicit App ID,苹果会自动帮我们生成一个与我们发布时填的一样的Bundle ID 到我们的App ID中。
填写Explicit App ID 的格式为:com.companyDomain.appName
Wildcard App ID:顾名思义,这里要填一个通配符的 App ID 。意思就是,我们只需要填一个在所有应用都能试用的 App ID 就好了。
填写WildcardApp ID 的格式为:com.companyDomain.*
申请真机调试的时候,不是为了某一个应用去调试,而是为了所有的应用去调试,必须能适应每一个app,所以我们选择Wildcard
App ID。
com.companyDomain.* 的companyDomain 一般写公司的网址域名,也可以按需要写
![](https://i-blog.csdnimg.cn/blog_migrate/40bd0f8f659dd939ff70a40e94fc634d.png)
看到如下界面,点击“Rgeister”后就可以生成App ID了
![](https://i-blog.csdnimg.cn/blog_migrate/c8d6d7f774134702ce5d3c83f5f5a015.png)
6.设备UDID的添加
如图,点击“+”,一个99美元账号(个人或者公司级)只能添加100台设备。
![](https://i-blog.csdnimg.cn/blog_migrate/1e62c907c471eedb52bd17cf278edfe4.png)
Name 自己取一个设备的名字,UDID约等于设备的身份证,可以在iTunes中查看
![](https://i-blog.csdnimg.cn/blog_migrate/eb3574612568955d088a6c5d545353b7.png)
查看UDID
手机数据线连接电脑,打开iTunes
![](https://i-blog.csdnimg.cn/blog_migrate/f7e0ffd53a745c5035c5791dbcbba1e0.png)
点击下图中的序列号处
![](https://i-blog.csdnimg.cn/blog_migrate/4cef08926ecafc8d8011a445538f6480.png)
填好 name 和 UDID后,点击continue 就可以看到如下界面,点击“Register”就可以在苹果上登记了。
![](https://i-blog.csdnimg.cn/blog_migrate/49e994b06c38e7d766b5672ff22ad628.png)
7.描述文件的制作
描述文件分为开发和发布两种,此处以开发为例
开发模式需要选择之前创建的App ID(为哪个APP创建描述文件)、添加过得UDID(哪些手机可以运行APP)、以及开发证书(使用哪个证书来开发或者打包)。
发布模式需要选择之前创建App ID(为哪个APP创建描述文件)、以及发布证书(使用哪个证书来发布)。
选择Development后,点击“+”
![](https://i-blog.csdnimg.cn/blog_migrate/6fb5ac098d25b3d221fd875a1d3a444b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2bb97d80dfa07c66a7327e69e16f5716.png)
选择App ID,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/14475effa4c502194d3afd0a1e35dfe0.png)
勾选开发证书
![](https://i-blog.csdnimg.cn/blog_migrate/5d53c06a75eecc0933a18b30651f49fb.png)
勾选UDID对应的设备
![](https://i-blog.csdnimg.cn/blog_migrate/96c16c761a2022bceb3d4cfe5c627b9a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/530cfde8101b61e312b84ed7ac7e07c6.png)
下载到电脑
![](https://i-blog.csdnimg.cn/blog_migrate/19494059e5a82dcc7b702bfcbbc08e62.png)
三、关于.p12文件
为什么要导出.p12文件?
当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/a9bc8b4752e6798ef6fed4f34c728b30.png)
这时候,再点击“+”时,就会发现点击不了开发证书,也就是添加不了开发证书:
![](https://i-blog.csdnimg.cn/blog_migrate/187aac8f60409b86bdaa7cd55d8b60b0.png)
我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。
注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,如图:
![](https://i-blog.csdnimg.cn/blog_migrate/89b9cd019f4517de7d3485cc35be574e.png)
打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:```”:
![](https://i-blog.csdnimg.cn/blog_migrate/55394987994a13461e8bd2c174afd1f7.png)
填写名字:开发证书填写:developer,发布证书填写:distribution
点击存储会设置证书密码,密码和验证填写相同内容,点击好。
![](https://i-blog.csdnimg.cn/blog_migrate/75bb58f2cf8c44acae95277b216d7ae9.png)
如果出现以下图片需要输入电脑开机密码。选择始终允许,在桌面上就形成了一个.p12文件了:
![](https://i-blog.csdnimg.cn/blog_migrate/3f57fd7004c5a04321acd91747954026.png)
证书:
![](https://i-blog.csdnimg.cn/blog_migrate/6dafc71f14004c1b9d3dd656cdf6ab1f.png)
在别人电脑上开发,必备两个文件
该证书导出的“.p12”文件。
苹果开发者中的与“证书”对应的“描述文件”
如果需要用于开发的,那么需要这两个文件:
.p12文件本身就是一个加密的证书,所以用这两个文件就可以让其他mac设备使用了:
![](https://i-blog.csdnimg.cn/blog_migrate/3bec40797ead52f3605bf8e1664e67a2.png)
拿到这两个文件后,依次双击“证书”,“.p12“文件(需要输入密码,密码就是当时生成.p12时设定的密码,),作用是加入钥匙串中,使我们的电脑具备开发的证明,”描述文件“(作用是置于xcode中,让xcode知道我们开发的合法性),添加完后就可以使用了。