自鉴iOS 开发每天分享优质文章

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

2020-11-29  本文已影响0人  寻心_0a46

Apple开发者账号的类型

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

查看自己的开发者账号类型可以通过开发者网站的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 截屏2020-11-30下午3.17.50.png 截屏2020-11-30下午3.22.38.png

Profiles(描述文件)

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

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

在配有发布证书的电脑(即配备发布证书的电脑上,只能一台)制作公测版和发布版的程序流程。发布版便是发布到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证书

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

https://author.baidu.com/home?from=bjh_article&app_id=1662211619809693

https://mp.sohu.com/profile?xpt=QTQzNDEyQ0M1QjQyMjI3MzBBQ0E2MDZDQTk4MzQyMUFAcXEuc29odS5jb20=&_f=index_pagemp_1&spm=smpc.content.author.1.16066302037442kLraG8

https://www.jianshu.com/p/b3ff7cf0f605

https://www.jianshu.com/p/8190cf4a8172

上一篇 下一篇

猜你喜欢

热点阅读