美文网首页程序员iOS Developer
iOS关于苹果开发者账号及证书的一些说明

iOS关于苹果开发者账号及证书的一些说明

作者: 平原河流 | 来源:发表于2016-12-01 18:22 被阅读3775次

在iOS开发过程中,无论是安装到真机测试,还是上线到App Store,你总是要接触到证书的。
相信大家对苹果证书的创建都有一定的了解,网上也有很多教程,可是你还是会在开发过程中遇到各种证书不能用的情况

下面先来介绍几个概念。

1、Apple ID 这个是指苹果开发者账号(下面还有个App IDs,这两个有些人会搞混,尴尬)。有了这个,你才可以登录到App Store去下载App。

2、Apple ID会员资格,只有Apple ID你还接触不到证书,因为没资格。说白了就是要付费,付费后,你才能上传自己App 到App Store,并接触证书。
会员资格有两种:
(1)Apple Developer Program -苹果开发者计划($99)
(2)Apple Developer Enterprise Program-苹果开发者企业计划($299)

关于价格:原来是以美元为单位的。现在如果适用,会有当地价格。当然现在也有人民币价格(之前是没有的)。
关于App Store:Apple Developer Program可以上传到App Store;Apple Developer Enterprise Program不可以上传到App Store。
关于企业内发布:Apple Developer Program不可以企业内发布;Apple Developer Enterprise Program可以企业内发布。什么叫做企业内发布,就是不用发布到App Store,可以把IPA文件挂着自己的网站,供使用者下载、使用,而且不受UDID限制。
关于注册用户类型:Apple Developer Program可以个人,也可以是企业;Apple Developer Enterprise Program只能是企业。其中企业需要在注册时,提供邓白氏编码。

因为Apple Developer Program注册者可以是企业,有些人经常把Apple Developer Program和Apple Developer Enterprise Program搞混。
有些人经常说个人账号、企业账号,想当然的把Apple Developer Program注册的企业账号理解成苹果开发者企业计划,即Apple Developer Enterprise Program类型的账号。
又有些人经常把Apple Developer Enterprise Program说成企业账号,被人理解成Apple Developer Program注册的企业账号。
我一开始怎么区别的?我是以价格区别的,就说$99账号,还是$299账号。后来因为在国内可以用人民币支付,有些人不理解什么$99、$299,我改成了以是否能够上传到App Store来区分(当然这些是对于那些门外汉来说的)。如果你知道了,那么你肯定能理解别人在说苹果开发者计划和苹果开发者企业计划的区别。

好了,上面说了那么多,相信你能对两种会员资料有了深刻理解。

有了会员资格,就可以通过这个界面登录

登录界面.png

登录以后,会看到这样的界面:

Apple Developer Program界面.png

点击“Certificates, Identifiers & Profiles”,会进入:

Certificates, Identifiers & Profiles界面.png

到这里就进入到证书管理界面了。

关于Certificates,我喜欢称之为证书文件,有开发证书和发布证书两种。

证书创建时,需要CertificateSigningRequest.certSigningRequest文件,这个是从Mac电脑上的钥匙串导出的。我把这一步理解为证书和Mac电脑绑定。之前,iOS Development模式下只能绑定一个xxx.certSigningRequest文件,iOS Distribution模式下只能绑定一个xxx.certSigningRequest文件,也就是这两中模式下只能绑定一台Mac电脑。现在可以绑定两个了。细心的会发现在上面截图中,发现有很多Certificate,注意看Type,其他的都是 APNs开头,这个是什么呢?这个表示是推送证书。为什么推送证书会有那么多,因为推送证书是和App IDs相关的,多个App IDs配置了推送证书,这里就会有多个APNs的Certificate。

绑定成功后,下载xxx.cer,加载到电脑中的钥匙串。会发现只有绑定的电脑上才显示可用,放到其他电脑上不可用。

如果其他电脑上也想用怎么办,通过绑定电脑导出相应xxx.p12文件(这个大家应该都会导出),然后给其他电脑使用。这步,我喜欢称之为授权给其他电脑使用。

还有一种情况,如果我绑定的电脑坏了,或者是之前同事的电脑,现在他走了,不能用了,怎么办?这种情况下,可以revoke,即撤销。这样之前绑定的会通通不可用。这个也是在多人开发时,会经常遇到的一个问题,用着用着,突然发现证书不可用了。
发现证书不可用,两个解决办法
(1)自己再revoke一次,从新绑定。(不太推荐,因为证书可能在被其他人使用,建议先确定当前绑定者是谁)
(2)找当前绑定者提供p12文件。

关于Identifiers,我常用的是App IDs,其他有用,但很少。App IDs要与Xcode中的Bundle Identifier对应使用。

关于Devices,添加真机的Identifier,就是我们常说的UDID,这个在开发证书环境下,真机调试时,会有用到。

关于Provisioning Profiles,我喜欢称之为配置描述文件,也简称描述文件,这个叫法还是因为我经常使用iPhone配置实用工具,从这上面沿袭下来的。这个会安装到真机设备中(当然不会让我们手动安装,系统会自动安装)。

介绍就到这里,本文章没有介绍证书的具体做法(这个可以在网上搜到很多),主要介绍了开发者账号类型,即不同的会员资格的区别;还有主要介绍了Certificates,为什么会经常遇到证书不能使用,还有证书不能使用后的一些处理方法。
希望对一个账号有多个使用者的情况下的朋友们有所帮助。这种情况,建议有一个Admin,其他通过p12授权使用。

相关文章

网友评论

    本文标题:iOS关于苹果开发者账号及证书的一些说明

    本文链接:https://www.haomeiwen.com/subject/ilnxmttx.html