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…

相關文章
相關標籤/搜索