Apple開發(fā)者賬號的類型
Apple開發(fā)者賬號共有三種類型:個(gè)人類型的開發(fā)者賬號、公司類型的開發(fā)者賬號、企業(yè)類型的開發(fā)者賬號。三種賬號個(gè)有所長,如何選擇還需要看實(shí)際的應(yīng)用情況。詳細(xì)情況如下:
1.個(gè)人類型的開發(fā)者賬號:每年所需費(fèi)用為99美元,程序的發(fā)布只能通過App Store進(jìn)行,不可以進(jìn)行多人協(xié)同開發(fā)(只能是開發(fā)者自己),App開發(fā)過程中可支持真機(jī)測試的UDID數(shù)量最多為100臺且每年只能修改一次,添加需要慎重。
2.公司類型的開發(fā)者賬號:每年所需費(fèi)用為99美元,程序的發(fā)布只能通過App Store進(jìn)行,允許多個(gè)開發(fā)者進(jìn)行協(xié)作開發(fā),可以通過蘋果提供的Agent(代理人)、Admin(管理員)、Member(成員)、No Access(無權(quán)限)四種團(tuán)隊(duì)身份進(jìn)行賬號管理設(shè)置,App開發(fā)過程中可支持真機(jī)測試的UDID數(shù)量最多為100臺且每年只能修改一次,添加需要慎重。申請時(shí)需要填寫公司的鄧白氏碼(DUNS Number)。
3.企業(yè)類型的開發(fā)者賬號:每年所需費(fèi)用為299美元,程序的發(fā)布只能通過放在自己的服務(wù)器或者三方平臺(例如蒲公英)進(jìn)行企業(yè)內(nèi)部使用,允許多個(gè)開發(fā)者進(jìn)行協(xié)作開發(fā),同樣分為4種級別的管理權(quán)限進(jìn)行賬號管理設(shè)置,App開發(fā)過程中可支持真機(jī)測試的UDID數(shù)量沒有限制。每年至少重新打一次ipa包,ipa包中有證書信息,證書的有效期為一年,如果不更新的話,APP將無法進(jìn)入。(即每年至少更新一次,無設(shè)備數(shù)量限制)。申請時(shí)需要填寫公司的鄧白氏碼(DUNS Number)。
查看自己的開發(fā)者賬號類型可以通過開發(fā)者網(wǎng)站的Account(賬號)的Overview(概述)中進(jìn)行判斷,例如:
Certificates(證書)
證書是對電腦開發(fā)資格的認(rèn)證,電腦通過安裝證書,才能證明自己擁有可以安裝或者打包某應(yīng)用程序的能力,分為兩種類型:Development Certificate(開發(fā)證書)和Production Certificate(發(fā)布證書)。其中Development Certificate(開發(fā)證書)用于為安裝的電腦提供權(quán)限:開發(fā)人員通過設(shè)備進(jìn)行真機(jī)測試,可以生成副本供多臺電腦安裝。Production Certificate(發(fā)布證書)為安裝的電腦上提供發(fā)布iOS程序的權(quán)限:開發(fā)人員可以制做測試版和發(fā)布版的程序,不可生成副本,僅有配置該證書的電腦才可使用。普通個(gè)人開發(fā)者賬號最多可注冊iOS Production Certificate(發(fā)布證書)3個(gè),Development Certificate(開發(fā)證書)2個(gè),用戶可在網(wǎng)站上撤銷(Revoke)已注冊的Certificate。
開發(fā)者證書能力來源
蘋果在此運(yùn)用了代碼簽名技術(shù)。代碼簽名驗(yàn)證允許我們的操作系統(tǒng)來判斷是誰對App進(jìn)行了簽名,在安裝了Xcode后,Xcode會在項(xiàng)目編譯期間使用你的代碼簽名驗(yàn)證,這個(gè)驗(yàn)證由一個(gè)由Apple認(rèn)證過的公鑰-私鑰對組成,私鑰存儲在你的鑰匙串中(Mac本地,在系統(tǒng)實(shí)用工具中),公鑰包含在證書(Certificates)中,證書在本地鑰匙串和開發(fā)者賬號中都有存儲,另外,還有一個(gè)我們可以叫做媒介證書的證書來確保我們的證書(Certificates)是經(jīng)過授權(quán)而發(fā)布的當(dāng)安裝好Xcode時(shí),媒介證書(Intermediate Certificate)就已經(jīng)安裝到我們的鑰匙串中去了。通過在開發(fā)者賬號(Developer Account)和本地(Mac)都經(jīng)過驗(yàn)證的證書(Certificate)我們就可以利用合法的證書進(jìn)行App的測試和發(fā)布了。
添加證書,例如:
生成CSR文件:
創(chuàng)建好的CertificateSigningRequest.certSigningRequest文件:
之后就可以將CertificateSigningRequest.certSigningRequest文件進(jìn)行上傳了,之后如圖:
下載之后的cer文件,雙擊就可以安裝到鑰匙串中:
Identifiers(標(biāo)識符)
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就會將A覆蓋掉,取而代之。APP的更新也就是這個(gè)道理,安裝了1.0版本。如果發(fā)布1.1版本,需要1.1版本的App ID和1.0的相同,手機(jī)會先去找是否有次App ID已經(jīng)安裝了,如果未安裝,則直接進(jìn)行安裝1.1版本;如果發(fā)現(xiàn)有1.0版本,則對1.0版本進(jìn)行覆蓋。
在設(shè)置項(xiàng)中可以配置該應(yīng)用的權(quán)限,比如是否用到了PassBook,GameCenter,以及更常見的push服務(wù),所以,在所有和推送相關(guān)的配置中,首先要做的就是先開通支持推送服務(wù)的App ID。例如:
Devices(設(shè)備)
Device就是運(yùn)行iOS系統(tǒng)用于開發(fā)調(diào)試App的設(shè)備。每臺Apple設(shè)備使用UDID來唯一標(biāo)識。公司賬號和個(gè)人賬號,只能添加100臺設(shè)備,一年可以修改一次。UDID可以通過鏈接設(shè)備在iTunes中查看。例如:
Profiles(描述文件)
描述文件包含了APP的基本信息:證書、App ID和設(shè)備。描述文件描述了可由哪臺電腦,把哪個(gè)App,安裝到哪臺手機(jī)上面。在開發(fā)者中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開發(fā)者中心生成,描述文件分為兩種,對應(yīng)相應(yīng)的證書使用:
- 1.Developer Provisioning Profile(開發(fā)授權(quán)文件)
在配有開發(fā)證書或團(tuán)隊(duì)的電腦應(yīng)用,開發(fā)者挑選該描述文件根據(jù)電腦上將軟件安裝到描述文件紀(jì)錄的機(jī)器設(shè)備中,就可以開展真機(jī)測試。 注意:保證電腦上有管理真機(jī)調(diào)試權(quán)限,即配有開發(fā)證書或團(tuán)隊(duì);在開發(fā)環(huán)境中程序流程的Bundle identifier和選定應(yīng)用的描述文件的App ID要一致;聯(lián)接調(diào)試的機(jī)器設(shè)備的UDID在選定的描述文件中有紀(jì)錄。
- 2.Distribution Provisioning Profile(發(fā)布描述文件)
在配有發(fā)布證書的電腦(即配備發(fā)布證書的電腦上,只能一臺)制作公測版和發(fā)布版的程序流程。發(fā)布版便是發(fā)布到App Store上的體系文件,開發(fā)人員賬號創(chuàng)建描述文件時(shí)挑選store選擇項(xiàng),挑選App ID,不用挑選UDID。 公測版便是在公布以前交到測試工程師可同歩到機(jī)器設(shè)備上的體系文件,開發(fā)人員賬號創(chuàng)建描述文件時(shí)挑選AdHoc,挑選App ID和UDID;只能選定的UDID相匹配的機(jī)器設(shè)備才將會安裝上根據(jù)該描述文件制作的程序流程。
例如:
下載下來的配置文件:
Keychain(開發(fā)密鑰)
安裝證書成功的情況下證書下都會生成Keychain,證書副本(導(dǎo)出證書重新命名)就是通過配置證書的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他開發(fā)者電腦中,讓其開發(fā)者電腦得到證書對應(yīng)的權(quán)限。Developer Certification(開發(fā)證書)就可以制做副本Keychain分發(fā)到其他電腦上安裝,使其可以進(jìn)行真機(jī)測試。 但Distribution Certification(發(fā)布證書)只有配置證書的電腦才可使用,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上,其他電腦也不可能具有證書的權(quán)限。
.p12證書
1、為什么要導(dǎo)出p12?當(dāng)我們用大于三個(gè)mac設(shè)備開發(fā)應(yīng)用時(shí),想要申請新的證書,如果在我們的證書里,包含了3個(gè)發(fā)布證書,2個(gè)開發(fā)證書,可以發(fā)現(xiàn)再也申請不了開發(fā)證書和發(fā)布證書了(一般在我們的證書界面中應(yīng)該只有一個(gè)開發(fā)證書,一個(gè)發(fā)布證書,沒必要生成那么多的證書,證書一般在過期之后才會重新添加。)
2、點(diǎn)擊“+”時(shí),就會發(fā)現(xiàn)點(diǎn)擊不了開發(fā)和發(fā)布證書,也就是添加不了開發(fā)證書和發(fā)布證書了。
3、有兩個(gè)解決不能添加證書的方法:第一種方法是將以前的證書“revoke”掉,然后重新生成一個(gè)新的證書。注意:可能會造成相應(yīng)的Provisioning Profiles失效,這個(gè)可大可小。如果只有你一個(gè)人則問題不大,如果是一個(gè)團(tuán)隊(duì)大家都在用,你把這個(gè)證書刪除了,會導(dǎo)致別人的描述文件失效,這意味著別人不能發(fā)布應(yīng)用了(還可以開發(fā)),這可是大問題,所以不提倡這種做法。
4、生成p12文件:我們的每一個(gè)證書都可以生成一個(gè).p12文件,這個(gè)文件是一個(gè)加密的文件,只要知道其密碼,就可以供給所有的mac設(shè)備使用,使設(shè)備不需要在蘋果開發(fā)者網(wǎng)站重新申請開發(fā)和發(fā)布證書,就能使用。注意:一般.p12文件是給與別人使用的,本機(jī)必須已經(jīng)有一個(gè)帶秘鑰的證書才可以生成.p12文件,打開鑰匙串,選擇我們需要的證書,右擊,選擇“導(dǎo)出“iPhone Distribition:```”,為.p12文件填一個(gè)名字,點(diǎn)擊存儲,填一個(gè)“密碼”,“驗(yàn)證”和密碼相同,點(diǎn)擊好,在桌面上就形成了一個(gè).p12文件了。
5、在別人的電腦上要成功安裝。