一、Apple開發者賬號介紹
1.開發者賬號共有三種類型:個人級、公司級、企業級。公司和企業都屬于“組織”大類,可多人協作。在蘋果的開發者平臺登錄后,可在People界面邀請其他人員協作開發,邀請的人需要注冊一個apple id 郵箱,并且可以設置開發人員的權限。
2.辨別你手中賬號是什么類型:
A:個人級:登錄后的頁面如下圖:紅色馬賽克下方是:Apple Developer Program,再下方,只有Certificates,identifiers&Profiles和App Store Connect兩個圖標,第一個圖標是開發者證書、App ID和描述文件生成的入口,第二個圖標是將APP上傳到App Store的入口。
B:公司級:登錄后的頁面如下圖:紅色馬賽克下方是:Apple Developer Program,再下方,有People、Certificates,identifiers&Profiles和App Store Connect三個圖標,第一個圖標邀請其他開發人員的入口,第二個圖標是開發者證書、App ID和描述文件生成的入口,第三個圖標是將APP上傳到App Store的入口。
C:企業級:登錄后的頁面如下圖:紅色馬賽克下方是:Apple Developer Enterprise Program,再下方,有People、Certificates,identifiers&Profiles兩個圖標,第一個圖標邀請其他開發人員的入口,第二個圖標是開發者證書、App ID和描述文件生成的入口。
對比:
1、個人(Individual):
? (1)費用:99美元每年
? (2)App Store上架:是? 只能上架到App Store
? (3)最大UDID支持數:100臺
? (4)協作人數:1人(開發者自己)
說明:“個人”開發者可以申請升級“公司”,可以通過撥打蘋果公司客服電話(400 6701 855)進行咨詢辦理。
2、公司(Company):
? (1)費用:99美元每年
? (2)App Store上架:是只能上架到App Store
? (3)最大UDID支持數:100臺
? (4)協作人數:多人
? ? 允許多個開發者進行協作開發,比一個人多一些賬號管理設置,可以設置多個Apple ID,分為4種級別的權限。
說明:申請時需要填寫公司的鄧白氏碼(DUNS Number)
2、企業(Enterprise):
? (1)費用:299美元每年
? (2)App Store上架:否(不能上架到App Store,只能企業內部使用)
? (3)最大UDID支持數:不限制
? (4)協作人數:多人
? ? 允許多個開發者進行協作開發,比一個人多一些賬號管理設置,可以設置多個Apple ID,分為4種級別的權限。
說明:申請時需要填寫公司的鄧白氏碼(DUNS Number),注意:只能企業內部使用,否則有被封號的風險。
總結:
1.個人級和公司級都有App Store Connect,表明這兩種只能上架App Store供用戶下載。而企業級的沒有,表明APP不能上架App Store,可通過 item-services分發來下載。
2.企業級賬號,每年至少重新打包ipa一次,ipa包中有證書信息,證書的有效期是一年,一年不更新,APP將閃退,無法進入。(即每年至少更新一次,無設備數量限制)。個人/公司級別的沒有限制,只要成功上架到App Store,如果沒有特殊情況,理論可以放到蘋果公司倒閉也不用去更新。
3.企業級賬號,安裝后需要去設置中信任APP,系統級限制,無法跳過。個人/公司級沒有該限制。
4.企業級賬號,只能放在自己的服務器或者三方平臺(蒲公英)。不能上架App Store(不是難上架,是此類型賬號根本就沒上架App Store的功能)。
個人/公司級,只能上架到App Store。如果想放到自己的服務器,或者第三方平臺。首先收集手機的UDID,添加到賬號中,再打包。上面有介紹,每個賬號只能添加100個UDID,也就是此類型賬號,如果發布APP到自己服務器,最多只能100臺手機可以安裝。如果有新手機想安裝,需要先收集該手機的UDID,然后添加到賬號中,重新生成證書,然后重新用新證書打包,發布,最后新手機才可以安裝(也就是平時打的可調試(Debug)包)。這種可調式(Debug)包的有效期也是一年。ipa包中有證書信息,證書的有效期是一年,一年不更新,APP將閃退,無法進入。(即每年至少更新一次,而且只能最多100臺設備可以安裝)。
5.個人和公司的區別是,協作人數的不同
公司和企業的相同點,都可以多人協作
(企業)和(個人/公司)的區別:
a.企業不能上架到App Store,個人/公司必須上架到App Store;
b.價格不同。
c.個人/公司上App Store必須經過蘋果的人工審核(上架審核周期在7天左右)。更新版本也是需要經過蘋果審核的(更新版本的審核周期在3天左右),審核不通過,需要iOS開發處理,所以上面的上架周期和更新周期都是最為理想的情況。咱們的產品適配包更新是不需要審核的,只有涉及到APP原生改動的,才需要提交版本,進行審核。而企業級發布到自己服務器或者第三方平臺是不需要審核的。
6.問哪種賬號好,答:沒有好壞之分,它們各不相同,按需所取,沒有絕對。
7.沒有蘋果賬號,打不了包。
二、開發者證書、App ID、描述文件的創建
1.開發者證書:
總共有兩種類型:Developer(開發證書)和Distribution(發布證書),這個是最基礎的,不論是真機調試,還是上傳到appstore都是需要的,是一個基證書,用來證明自己開發者身份的;
2.App 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服務,如果選中了push服務,那么就可以創建生成下面第3條所提到的推送證書,所以,在所有和推送相關的配置中,首先要做的就是先開通支持推送服務的App ID;
3.描述文件:
Profiles,這個東西是很有蘋果特色的一個東西,我一般稱之為描述文件,該文件將App ID,開發者證書,硬件Device綁定到一塊兒,在開發者中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開發者中心生成,真機調試時需要在描述文件中添加真機的UDID;是真機調試和上架必備之珍品;
開發流程
平常我們的制作流程一般都是按以上序列進行,先利用開發者帳號登陸開發者中心,創建開發者證書,App ID,如果在App ID中開通推送服務,在開通推送服務的選項下面創建推送證書(服務器端的推送證書見下文),之后在描述文件中綁定所有的證書id,添加調試真機等;
以下操作需要在蘋果電腦上實現
4.開發者證書創建:
(1)首先登陸到開發者中心,點擊Certificates,identifiers&Profiles圖標,點進證書,會顯示如下界面,點擊右上角的加號
會出現以下界面,該操作重復兩次,分別創建開發測試證書和發布證書,開發測試證書用于真機調試,發布證書用于提交到appStore,我們以開發證書為例,選擇第一個紅框中的內容;
然后下一步,會提示創建CSR文件,也就是證書簽名請求文件,會有很詳細的操作說明,如果英文不太好,可以參考下圖;
(1)? 去Launchpad-->其他中找到? “鑰匙串訪問”? 點擊鑰匙圖標
(2)? 生成證書請求:鑰匙串訪問?證書助理?從證書頒發機構請求證書
輸入兩個電子郵件地址和常用名稱。電子郵件地址是你注冊AppleID。
a)? 常用名稱輸入公司名稱
b)? 選擇“存儲到磁盤”。保存后的名稱應該為:CertificateSigningRequest.certSigningRequest
之后將該CSR文件保存到一處;
c)? 保存到磁盤后在你的鑰匙串訪問窗口應該會出兩個密鑰,一個公鑰密鑰,一個專用密鑰,紅色部分就是你在上面輸入的常用名。
備注:CSR文件盡量每個證書都制作一次,將常用名稱區分開來,因為該常用名稱是證書中的密鑰的名字;
(5)? ? 生成Certificates證書
提交上去后就會生成一個cer證書,如圖所示,有效期為一年;證書可不輕易刪除,可能會造成十分嚴重的后果(尤其是企業級的發布證書,刪除后已經安裝在手機上的APP將會閃退,無法使用)。會造成相應的Provisioning Profiles失效,如果是一個團隊大家都在用,你把這個證書刪除了,會導致別人的描述文件失效。所以不提倡刪除。
利用同樣的方法配置一下Distribution發布證書,下載保存,雙擊安裝;在鑰題串登錄-我的證書中可以查看
5.App ID的創建
1.以上開發者證書的配置完成了,下面我們來配置App ID和推送證書;
選擇 “Identifiers”的 “App IDs”,點擊“+”
出現以下界面:
App ID Description 是一個App ID的描述,就是一個名字,這個名字可以隨便取
App ID Prefix 蘋果已經幫我們填了,不需要我們填,可以看出,它是一個團隊的ID
Suffix
App ID Suffix 有兩個選項:
Explicit App ID :顧名思義,這里要填一個明確的 App ID,
什么意思呢?可以這么來解釋:我們做項目時的Bundle Identifier (Bundle ID)是用來標示我們的app的。我們的App ID也是用來標示我們的app的。這兩個有什么聯系呢?Explicit App ID 就是要我們確定一個唯一的Bundle ID,用來標示我們的 app,使它有一個固定的身份。可以發現,當提交應用到蘋果時,如果我們一開始沒寫Explicit App ID,蘋果會自動幫我們生成一個與我們發布時填的一樣的Bundle ID 到我們的App ID中。
填寫Explicit App ID 的格式為:com.companyDomain.appName
Wildcard App ID:顧名思義,這里要填一個通配符的 App ID 。意思就是,我們只需要填一個在所有應用都能試用的 App ID 就好了。
填寫WildcardApp ID 的格式為:com.companyDomain.*
申請真機調試的時候,不是為了某一個應用去調試,而是為了所有的應用去調試,必須能適應每一個app,所以我們選擇Wildcard
App ID。
com.companyDomain.* 的companyDomain 一般寫公司的網址域名,也可以按需要寫
看到如下界面,點擊“Rgeister”后就可以生成App ID了
6.設備UDID的添加
如圖,點擊“+”,一個99美元賬號(個人或者公司級)只能添加100臺設備。
Name 自己取一個設備的名字,UDID約等于設備的身份證,可以在iTunes中查看
查看UDID
手機數據線連接電腦,打開iTunes
點擊下圖中的序列號處
填好 name 和 UDID后,點擊continue 就可以看到如下界面,點擊“Register”就可以在蘋果上登記了。
7.描述文件的制作
描述文件分為開發和發布兩種,此處以開發為例
開發模式需要選擇之前創建的App ID(為哪個APP創建描述文件)、添加過得UDID(哪些手機可以運行APP)、以及開發證書(使用哪個證書來開發或者打包)。
發布模式需要選擇之前創建App ID(為哪個APP創建描述文件)、以及發布證書(使用哪個證書來發布)。
選擇Development后,點擊“+”
選擇App ID,如下圖
勾選開發證書
勾選UDID對應的設備
下載到電腦
三、關于.p12文件
為什么要導出.p12文件?
當我們用大于三個mac設備開發應用時,想要申請新的證書,如果在我們的證書里,包含了3個發布證書,2個開發證書,可以發現再也申請不了開發證書和發布證書了(一般在我們的證書界面中應該只有一個開發證書,一個發布證書,沒必要生成那么多的證書,證書一般在過期之后才會重新添加。)
如圖:
這時候,再點擊“+”時,就會發現點擊不了開發證書,也就是添加不了開發證書:
我們的每一個證書都可以生成一個.p12文件,這個文件是一個加密的文件,只要知道其密碼,就可以供給所有的mac設備使用,使設備不需要在蘋果開發者網站重新申請開發和發布證書,就能使用。
注意:一般.p12文件是給與別人使用的,本機必須已經有一個帶秘鑰的證書才可以生成.p12文件,如圖:
打開鑰匙串,選擇我們需要的證書,右擊,選擇“導出“iPhone Distribition:```”:
填寫名字:開發證書填寫:developer,發布證書填寫:distribution
點擊存儲會設置證書密碼,密碼和驗證填寫相同內容,點擊好。
如果出現以下圖片需要輸入電腦開機密碼。選擇始終允許,在桌面上就形成了一個.p12文件了:
證書:
在別人電腦上開發,必備兩個文件
該證書導出的“.p12”文件。
蘋果開發者中的與“證書”對應的“描述文件”
如果需要用于開發的,那么需要這兩個文件:
.p12文件本身就是一個加密的證書,所以用這兩個文件就可以讓其他mac設備使用了:
拿到這兩個文件后,依次雙擊“證書”,“.p12“文件(需要輸入密碼,密碼就是當時生成.p12時設定的密碼,),作用是加入鑰匙串中,使我們的電腦具備開發的證明,”描述文件“(作用是置于xcode中,讓xcode知道我們開發的合法性),添加完后就可以使用了。