iOS Apple開(kāi)發(fā)者賬號(hào)和證書(shū)的相關(guān)

Apple開(kāi)發(fā)者賬號(hào)的類型

Apple開(kāi)發(fā)者賬號(hào)共有三種類型:個(gè)人類型的開(kāi)發(fā)者賬號(hào)、公司類型的開(kāi)發(fā)者賬號(hào)、企業(yè)類型的開(kāi)發(fā)者賬號(hào)。三種賬號(hào)個(gè)有所長(zhǎng),如何選擇還需要看實(shí)際的應(yīng)用情況。詳細(xì)情況如下:

  • 1.個(gè)人類型的開(kāi)發(fā)者賬號(hào):每年所需費(fèi)用為99美元,程序的發(fā)布只能通過(guò)App Store進(jìn)行,不可以進(jìn)行多人協(xié)同開(kāi)發(fā)(只能是開(kāi)發(fā)者自己),App開(kāi)發(fā)過(guò)程中可支持真機(jī)測(cè)試的UDID數(shù)量最多為100臺(tái)且每年只能修改一次,添加需要慎重。

  • 2.公司類型的開(kāi)發(fā)者賬號(hào):每年所需費(fèi)用為99美元,程序的發(fā)布只能通過(guò)App Store進(jìn)行,允許多個(gè)開(kāi)發(fā)者進(jìn)行協(xié)作開(kāi)發(fā),可以通過(guò)蘋(píng)果提供的Agent(代理人)、Admin(管理員)、Member(成員)、No Access(無(wú)權(quán)限)四種團(tuán)隊(duì)身份進(jìn)行賬號(hào)管理設(shè)置,App開(kāi)發(fā)過(guò)程中可支持真機(jī)測(cè)試的UDID數(shù)量最多為100臺(tái)且每年只能修改一次,添加需要慎重。申請(qǐng)時(shí)需要填寫(xiě)公司的鄧白氏碼(DUNS Number)。

  • 3.企業(yè)類型的開(kāi)發(fā)者賬號(hào):每年所需費(fèi)用為299美元,程序的發(fā)布只能通過(guò)放在自己的服務(wù)器或者三方平臺(tái)(例如蒲公英)進(jìn)行企業(yè)內(nèi)部使用,允許多個(gè)開(kāi)發(fā)者進(jìn)行協(xié)作開(kāi)發(fā),同樣分為4種級(jí)別的管理權(quán)限進(jìn)行賬號(hào)管理設(shè)置,App開(kāi)發(fā)過(guò)程中可支持真機(jī)測(cè)試的UDID數(shù)量沒(méi)有限制。每年至少重新打一次ipa包,ipa包中有證書(shū)信息,證書(shū)的有效期為一年,如果不更新的話,APP將無(wú)法進(jìn)入。(即每年至少更新一次,無(wú)設(shè)備數(shù)量限制)。申請(qǐng)時(shí)需要填寫(xiě)公司的鄧白氏碼(DUNS Number)。

查看自己的開(kāi)發(fā)者賬號(hào)類型可以通過(guò)開(kāi)發(fā)者網(wǎng)站的Account(賬號(hào))的Overview(概述)中進(jìn)行判斷,例如:

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

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

Certificates(證書(shū))

證書(shū)是對(duì)電腦開(kāi)發(fā)資格的認(rèn)證,電腦通過(guò)安裝證書(shū),才能證明自己擁有可以安裝或者打包某應(yīng)用程序的能力,分為兩種類型:Development Certificate(開(kāi)發(fā)證書(shū))和Production Certificate(發(fā)布證書(shū))。其中Development Certificate(開(kāi)發(fā)證書(shū))用于為安裝的電腦提供權(quán)限:開(kāi)發(fā)人員通過(guò)設(shè)備進(jìn)行真機(jī)測(cè)試,可以生成副本供多臺(tái)電腦安裝。Production Certificate(發(fā)布證書(shū))為安裝的電腦上提供發(fā)布iOS程序的權(quán)限:開(kāi)發(fā)人員可以制做測(cè)試版和發(fā)布版的程序,不可生成副本,僅有配置該證書(shū)的電腦才可使用。普通個(gè)人開(kāi)發(fā)者賬號(hào)最多可注冊(cè)iOS Production Certificate(發(fā)布證書(shū))3個(gè),Development Certificate(開(kāi)發(fā)證書(shū))2個(gè),用戶可在網(wǎng)站上撤銷(Revoke)已注冊(cè)的Certificate。

開(kāi)發(fā)者證書(shū)能力來(lái)源

蘋(píng)果在此運(yùn)用了代碼簽名技術(shù)。代碼簽名驗(yàn)證允許我們的操作系統(tǒng)來(lái)判斷是誰(shuí)對(duì)App進(jìn)行了簽名,在安裝了Xcode后,Xcode會(huì)在項(xiàng)目編譯期間使用你的代碼簽名驗(yàn)證,這個(gè)驗(yàn)證由一個(gè)由Apple認(rèn)證過(guò)的公鑰-私鑰對(duì)組成,私鑰存儲(chǔ)在你的鑰匙串中(Mac本地,在系統(tǒng)實(shí)用工具中),公鑰包含在證書(shū)(Certificates)中,證書(shū)在本地鑰匙串和開(kāi)發(fā)者賬號(hào)中都有存儲(chǔ),另外,還有一個(gè)我們可以叫做媒介證書(shū)的證書(shū)來(lái)確保我們的證書(shū)(Certificates)是經(jīng)過(guò)授權(quán)而發(fā)布的當(dāng)安裝好Xcode時(shí),媒介證書(shū)(Intermediate Certificate)就已經(jīng)安裝到我們的鑰匙串中去了。通過(guò)在開(kāi)發(fā)者賬號(hào)(Developer Account)和本地(Mac)都經(jīng)過(guò)驗(yàn)證的證書(shū)(Certificate)我們就可以利用合法的證書(shū)進(jìn)行App的測(cè)試和發(fā)布了。

添加證書(shū),例如:

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

創(chuàng)建好的CertificateSigningRequest.certSigningRequest文件:

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

之后就可以將CertificateSigningRequest.certSigningRequest文件進(jìn)行上傳了,之后如圖:

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

下載之后的cer文件,雙擊就可以安裝到鑰匙串中:

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

Identifiers(標(biāo)識(shí)符)

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

App ID

App ID其實(shí)就是一個(gè)App的身份證,一個(gè)App的唯一標(biāo)示。在Project中稱為Bundle ID。在Member Center、Project、iTunes Connect都是需要此ID去標(biāo)示此App的唯一性。如果有兩個(gè)安裝包A和B是同一個(gè)App ID,安裝A后再安裝B,B就會(huì)將A覆蓋掉,取而代之。APP的更新也就是這個(gè)道理,安裝了1.0版本。如果發(fā)布1.1版本,需要1.1版本的App ID和1.0的相同,手機(jī)會(huì)先去找是否有次App ID已經(jīng)安裝了,如果未安裝,則直接進(jìn)行安裝1.1版本;如果發(fā)現(xiàn)有1.0版本,則對(duì)1.0版本進(jìn)行覆蓋。

在設(shè)置項(xiàng)中可以配置該應(yīng)用的權(quán)限,比如是否用到了PassBook,GameCenter,以及更常見(jiàn)的push服務(wù),所以,在所有和推送相關(guān)的配置中,首先要做的就是先開(kāi)通支持推送服務(wù)的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(設(shè)備)

Device就是運(yùn)行iOS系統(tǒng)用于開(kāi)發(fā)調(diào)試App的設(shè)備。每臺(tái)Apple設(shè)備使用UDID來(lái)唯一標(biāo)識(shí)。公司賬號(hào)和個(gè)人賬號(hào),只能添加100臺(tái)設(shè)備,一年可以修改一次。UDID可以通過(guò)鏈接設(shè)備在iTunes中查看。例如:

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

Profiles(描述文件)

描述文件包含了APP的基本信息:證書(shū)、App ID和設(shè)備。描述文件描述了可由哪臺(tái)電腦,把哪個(gè)App,安裝到哪臺(tái)手機(jī)上面。在開(kāi)發(fā)者中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開(kāi)發(fā)者中心生成,描述文件分為兩種,對(duì)應(yīng)相應(yīng)的證書(shū)使用:

  • 1.Developer Provisioning Profile(開(kāi)發(fā)授權(quán)文件)

在配有開(kāi)發(fā)證書(shū)或團(tuán)隊(duì)的電腦應(yīng)用,開(kāi)發(fā)者挑選該描述文件根據(jù)電腦上將軟件安裝到描述文件紀(jì)錄的機(jī)器設(shè)備中,就可以開(kāi)展真機(jī)測(cè)試。 注意:保證電腦上有管理真機(jī)調(diào)試權(quán)限,即配有開(kāi)發(fā)證書(shū)或團(tuán)隊(duì);在開(kāi)發(fā)環(huán)境中程序流程的Bundle identifier和選定應(yīng)用的描述文件的App ID要一致;聯(lián)接調(diào)試的機(jī)器設(shè)備的UDID在選定的描述文件中有紀(jì)錄。

  • 2.Distribution Provisioning Profile(發(fā)布描述文件)

在配有發(fā)布證書(shū)的電腦(即配備發(fā)布證書(shū)的電腦上,只能一臺(tái))制作公測(cè)版和發(fā)布版的程序流程。發(fā)布版便是發(fā)布到App Store上的體系文件,開(kāi)發(fā)人員賬號(hào)創(chuàng)建描述文件時(shí)挑選store選擇項(xiàng),挑選App ID,不用挑選UDID。 公測(cè)版便是在公布以前交到測(cè)試工程師可同歩到機(jī)器設(shè)備上的體系文件,開(kāi)發(fā)人員賬號(hào)創(chuàng)建描述文件時(shí)挑選AdHoc,挑選App ID和UDID;只能選定的UDID相匹配的機(jī)器設(shè)備才將會(huì)安裝上根據(jù)該描述文件制作的程序流程。

例如:

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

下載下來(lái)的配置文件:

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

Keychain(開(kāi)發(fā)密鑰)

安裝證書(shū)成功的情況下證書(shū)下都會(huì)生成Keychain,證書(shū)副本(導(dǎo)出證書(shū)重新命名)就是通過(guò)配置證書(shū)的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他開(kāi)發(fā)者電腦中,讓其開(kāi)發(fā)者電腦得到證書(shū)對(duì)應(yīng)的權(quán)限。Developer Certification(開(kāi)發(fā)證書(shū))就可以制做副本Keychain分發(fā)到其他電腦上安裝,使其可以進(jìn)行真機(jī)測(cè)試。 但Distribution Certification(發(fā)布證書(shū))只有配置證書(shū)的電腦才可使用,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上,其他電腦也不可能具有證書(shū)的權(quán)限。

.p12證書(shū)

  • 1、為什么要導(dǎo)出p12?當(dāng)我們用大于三個(gè)mac設(shè)備開(kāi)發(fā)應(yīng)用時(shí),想要申請(qǐng)新的證書(shū),如果在我們的證書(shū)里,包含了3個(gè)發(fā)布證書(shū),2個(gè)開(kāi)發(fā)證書(shū),可以發(fā)現(xiàn)再也申請(qǐng)不了開(kāi)發(fā)證書(shū)和發(fā)布證書(shū)了(一般在我們的證書(shū)界面中應(yīng)該只有一個(gè)開(kāi)發(fā)證書(shū),一個(gè)發(fā)布證書(shū),沒(méi)必要生成那么多的證書(shū),證書(shū)一般在過(guò)期之后才會(huì)重新添加。)

  • 2、點(diǎn)擊“+”時(shí),就會(huì)發(fā)現(xiàn)點(diǎn)擊不了開(kāi)發(fā)和發(fā)布證書(shū),也就是添加不了開(kāi)發(fā)證書(shū)和發(fā)布證書(shū)了。

  • 3、有兩個(gè)解決不能添加證書(shū)的方法:第一種方法是將以前的證書(shū)“revoke”掉,然后重新生成一個(gè)新的證書(shū)。注意:可能會(huì)造成相應(yīng)的Provisioning Profiles失效,這個(gè)可大可小。如果只有你一個(gè)人則問(wèn)題不大,如果是一個(gè)團(tuán)隊(duì)大家都在用,你把這個(gè)證書(shū)刪除了,會(huì)導(dǎo)致別人的描述文件失效,這意味著別人不能發(fā)布應(yīng)用了(還可以開(kāi)發(fā)),這可是大問(wèn)題,所以不提倡這種做法。

  • 4、生成p12文件:我們的每一個(gè)證書(shū)都可以生成一個(gè).p12文件,這個(gè)文件是一個(gè)加密的文件,只要知道其密碼,就可以供給所有的mac設(shè)備使用,使設(shè)備不需要在蘋(píng)果開(kāi)發(fā)者網(wǎng)站重新申請(qǐng)開(kāi)發(fā)和發(fā)布證書(shū),就能使用。注意:一般.p12文件是給與別人使用的,本機(jī)必須已經(jīng)有一個(gè)帶秘鑰的證書(shū)才可以生成.p12文件,打開(kāi)鑰匙串,選擇我們需要的證書(shū),右擊,選擇“導(dǎo)出“iPhone Distribition:```”,為.p12文件填一個(gè)名字,點(diǎn)擊存儲(chǔ),填一個(gè)“密碼”,“驗(yàn)證”和密碼相同,點(diǎn)擊好,在桌面上就形成了一個(gè).p12文件了。

  • 5、在別人的電腦上要成功安裝。

開(kāi)括者總是會(huì)讓后來(lái)者少走彎路!開(kāi)括者:

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

mp.sohu.com/profile?xpt…

www.itdecent.cn/p/b3ff7cf0f…

www.itdecent.cn/p/8190cf4a8…

轉(zhuǎn)自->【掘金】->【無(wú)聲編碼器】
鏈接:https://juejin.cn/post/6900537846814539790

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容