iOS Apple开发者账号和证书的相关知识记录

4,445 阅读9分钟

Apple开发者账号的类型

Apple开发者账号共有三种类型:个人类型的开发者账号、公司类型的开发者账号、企业类型的开发者账号。三种账号个有所长,如何选择还需要看实际的应用情况。详细情况如下:

  • 1.个人类型的开发者账号:每年所需费用为99美元,程序的发布只能通过App Store进行,不可以进行多人协同开发(只能是开发者自己),App开发过程中可支持真机测试的UDID数量最多为100台且每年只能修改一次,添加需要慎重。

  • 2.公司类型的开发者账号:每年所需费用为99美元,程序的发布只能通过App Store进行,允许多个开发者进行协作开发,可以通过苹果提供的Agent(代理人)、Admin(管理员)、Member(成员)、No Access(无权限)四种团队身份进行账号管理设置,App开发过程中可支持真机测试的UDID数量最多为100台且每年只能修改一次,添加需要慎重。申请时需要填写公司的邓白氏码(DUNS Number)。

  • 3.企业类型的开发者账号:每年所需费用为299美元,程序的发布只能通过放在自己的服务器或者三方平台(例如蒲公英)进行企业内部使用,允许多个开发者进行协作开发,同样分为4种级别的管理权限进行账号管理设置,App开发过程中可支持真机测试的UDID数量没有限制。每年至少重新打一次ipa包,ipa包中有证书信息,证书的有效期为一年,如果不更新的话,APP将无法进入。(即每年至少更新一次,无设备数量限制)。申请时需要填写公司的邓白氏码(DUNS Number)。

查看自己的开发者账号类型可以通过开发者网站的Account(账号)的Overview(概述)中进行判断,例如:

[图片上传中...(截屏2020-11-29下午5.17.48.png-4b77e4-1606644221131-0)]

截屏2020-11-29下午2.59.12.png

Certificates(证书)

证书是对电脑开发资格的认证,电脑通过安装证书,才能证明自己拥有可以安装或者打包某应用程序的能力,分为两种类型:Development Certificate(开发证书)和Production Certificate(发布证书)。其中Development Certificate(开发证书)用于为安装的电脑提供权限:开发人员通过设备进行真机测试,可以生成副本供多台电脑安装。Production Certificate(发布证书)为安装的电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序,不可生成副本,仅有配置该证书的电脑才可使用。普通个人开发者账号最多可注册iOS Production Certificate(发布证书)3个,Development Certificate(开发证书)2个,用户可在网站上撤销(Revoke)已注册的Certificate。

开发者证书能力来源

苹果在此运用了代码签名技术。代码签名验证允许我们的操作系统来判断是谁对App进行了签名,在安装了Xcode后,Xcode会在项目编译期间使用你的代码签名验证,这个验证由一个由Apple认证过的公钥-私钥对组成,私钥存储在你的钥匙串中(Mac本地,在系统实用工具中),公钥包含在证书(Certificates)中,证书在本地钥匙串和开发者账号中都有存储,另外,还有一个我们可以叫做媒介证书的证书来确保我们的证书(Certificates)是经过授权而发布的当安装好Xcode时,媒介证书(Intermediate Certificate)就已经安装到我们的钥匙串中去了。通过在开发者账号(Developer Account)和本地(Mac)都经过验证的证书(Certificate)我们就可以利用合法的证书进行App的测试和发布了。

添加证书,例如:

截屏2020-11-29下午7.53.17.png

截屏2020-11-29下午7.55.51.png

截屏2020-11-29下午8.10.43.png

截屏2020-11-29下午8.22.42.png

截屏2020-11-29下午8.32.35.png

生成CSR文件:

截屏2020-11-29下午8.49.57.png

截屏2020-11-29下午8.51.28.png

截屏2020-11-29下午8.53.40.png

创建好的CertificateSigningRequest.certSigningRequest文件:

截屏2020-11-29下午9.03.11.png

之后就可以将CertificateSigningRequest.certSigningRequest文件进行上传了,之后如图:

截屏2020-11-29下午9.11.29.png

下载之后的cer文件,双击就可以安装到钥匙串中:

截屏2020-11-29下午9.19.49.png

Identifiers(标识符)

Identifiers中又分为App IDs、Pass Type IDs、Website Push IDs、iCloud Containers、App Groups、Merchant IDs,需要着重理解的是App IDs。

App ID

App ID其实就是一个App的身份证,一个App的唯一标示。在Project中称为Bundle ID。在Member Center、Project、iTunes Connect都是需要此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服务,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的App ID。例如:

截屏2020-11-29下午4.41.12.png

截屏2020-11-29下午4.45.06.png

截屏2020-11-29下午4.49.27.png

截屏2020-11-29下午4.53.04.png

截屏2020-11-29下午6.35.38.png

Devices(设备)

Device就是运行iOS系统用于开发调试App的设备。每台Apple设备使用UDID来唯一标识。公司账号和个人账号,只能添加100台设备,一年可以修改一次。UDID可以通过链接设备在iTunes中查看。例如:

截屏2020-11-29下午5.17.48.png

截屏2020-11-29下午5.20.32.png

Profiles(描述文件)

描述文件包含了APP的基本信息:证书、App ID和设备。描述文件描述了可由哪台电脑,把哪个App,安装到哪台手机上面。在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,描述文件分为两种,对应相应的证书使用:

  • 1.Developer Provisioning Profile(开发授权文件)

在配有开发证书或团队的电脑应用,开发者挑选该描述文件根据电脑上将软件安装到描述文件纪录的机器设备中,就可以开展真机测试。 注意:保证电脑上有管理真机调试权限,即配有开发证书或团队;在开发环境中程序流程的Bundle identifier和选定应用的描述文件的App ID要一致;联接调试的机器设备的UDID在选定的描述文件中有纪录。

  • 2.Distribution Provisioning Profile(发布描述文件)

在配有发布证书的电脑(即配备发布证书的电脑上,只能一台)制作公测版和发布版的程序流程。发布版便是发布到App Store上的体系文件,开发人员账号创建描述文件时挑选store选择项,挑选App ID,不用挑选UDID。 公测版便是在公布以前交到测试工程师可同歩到机器设备上的体系文件,开发人员账号创建描述文件时挑选AdHoc,挑选App ID和UDID;只能选定的UDID相匹配的机器设备才将会安裝上根据该描述文件制作的程序流程。

例如:

截屏2020-11-29下午5.59.34.png

截屏2020-11-29下午6.06.13.png

截屏2020-11-29下午6.30.23.png

截屏2020-11-29下午6.58.05.png

截屏2020-11-29下午7.04.37.png

截屏2020-11-29下午7.09.16.png

截屏2020-11-29下午7.20.00.png

下载下来的配置文件:

截屏2020-11-29下午7.30.13.png

Keychain(开发密钥)

安装证书成功的情况下证书下都会生成Keychain,证书副本(导出证书重新命名)就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他开发者电脑中,让其开发者电脑得到证书对应的权限。Developer Certification(开发证书)就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。 但Distribution Certification(发布证书)只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

.p12证书

  • 1、为什么要导出p12?当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)

  • 2、点击“+”时,就会发现点击不了开发和发布证书,也就是添加不了开发证书和发布证书了。

  • 3、有两个解决不能添加证书的方法:第一种方法是将以前的证书“revoke”掉,然后重新生成一个新的证书。注意:可能会造成相应的Provisioning Profiles失效,这个可大可小。如果只有你一个人则问题不大,如果是一个团队大家都在用,你把这个证书删除了,会导致别人的描述文件失效,这意味着别人不能发布应用了(还可以开发),这可是大问题,所以不提倡这种做法。

  • 4、生成p12文件:我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:```”,为.p12文件填一个名字,点击存储,填一个“密码”,“验证”和密码相同,点击好,在桌面上就形成了一个.p12文件了。

  • 5、在别人的电脑上要成功安装。

开括者总是会让后来者少走弯路!开括者:

author.baidu.com/home?from=b…

mp.sohu.com/profile?xpt…

www.jianshu.com/p/b3ff7cf0f…

www.jianshu.com/p/8190cf4a8…