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

Apple开发者帐号的类型

Apple开发者帐号共有三种类型:我的类型的开发者帐号、公司类型的开发者帐号、企业类型的开发者帐号。三种帐号个有所长,如何选择还须要看实际的应用状况。详细状况以下:服务器

  • 1.我的类型的开发者帐号:每一年所需费用为99美圆,程序的发布只能经过App Store进行,不能够进行多人协同开发(只能是开发者本身),App开发过程当中可支持真机测试的UDID数量最多为100台且每一年只能修改一次,添加须要慎重。markdown

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

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

查看本身的开发者帐号类型能够经过开发者网站的Account(帐号)的Overview(概述)中进行判断,例如:工具

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

截屏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文件:spa

截屏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证书

  • 一、为何要导出p12?当咱们用大于三个mac设备开发应用时,想要申请新的证书,若是在咱们的证书里,包含了3个发布证书,2个开发证书,能够发现再也申请不了开发证书和发布证书了(通常在咱们的证书界面中应该只有一个开发证书,一个发布证书,不必生成那么多的证书,证书通常在过时以后才会从新添加。)

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

  • 三、有两个解决不能添加证书的方法:第一种方法是将之前的证书“revoke”掉,而后从新生成一个新的证书。注意:可能会形成相应的Provisioning Profiles失效,这个可大可小。若是只有你一我的则问题不大,若是是一个团队你们都在用,你把这个证书删除了,会致使别人的描述文件失效,这意味着别人不能发布应用了(还能够开发),这但是大问题,因此不提倡这种作法。

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

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

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

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

mp.sohu.com/profile?xpt…

www.jianshu.com/p/b3ff7cf0f…

www.jianshu.com/p/8190cf4a8…

相关文章
相关标签/搜索