Certificates 證書
-
我們從開發者中心瞭解到,開發者證書分為兩種型別:
Development Certificate
(開發證書)和Production Certificate
(釋出證書)。兩種證書都有對應的附屬證書,包括推送證書、Apple Pay證書、Pass Type ID證書等等一系列附屬證書。 -
需要注意的是,當我們釋出應用到 AppStore 時,釋出的電腦必須具備兩個條件:
-
安裝了建立這個釋出證書的電腦匯出的p12檔案
-
從
開發者賬號
下載了釋出證書
![證書分類](https://i.iter01.com/images/478ce1ad4b93eb3595338b972277f7fd923d306cda555234f6dc41df0c789ffb.jpg)
證書的作用
當某臺電腦安裝開發者證書後,這臺電腦是如何擁有這種能力的呢?
-
蘋果在此運用了程式碼簽名技術。程式碼簽名驗證允許我們的作業系統來判斷是誰(你或者信任的團隊成員)對App進行了簽名。
-
Xcode會在專案編譯期間使用你的程式碼簽名驗證,這個驗證由一個由Apple認證過的**
公鑰-私鑰對
組成,儲存在你的Keychain
(下簡稱鑰匙串**)中,公鑰包含在證書(Certificates)中,公鑰證書
在本地鑰匙串和開發者賬號都有儲存。 -
另外,還有一個我們可以叫做
媒介證書
(Intermediate Certificate)的證書來確保我們的證書(Certificates)是經過授權而釋出的。當安裝好Xcode時,媒介證書
就已經安裝到我們的鑰匙串
中去了。如果你不小心刪除了你的媒介證書
,不用擔心。你可以重新下載它。 -
通過在
開發者賬號
(Developer Account)和本地(Mac)都經過驗證的證書(Certificate)我們就可以利用合法的證書進行App的測試和釋出了。
方法一:快捷建立法(利用Xcode建立)
![Xcode製作各種證書](https://i.iter01.com/images/d27e026b88ca127898b0108488ea36c3b8d797d86a3abef662f14f51ee846960.jpg)
方法二:建立CSR檔案及證書製作
1. 開啟電腦中的鑰匙串訪問
![鑰匙串](https://i.iter01.com/images/06450af54a5178468d68bfa426045912cc787d1287868422519b7932f88f046b.jpg)
2. 選擇選單鑰匙串訪問
-證書助理
-從證書頒發機構請求證書
![請求證書](https://i.iter01.com/images/42f4f872953194158c1a361f85ceaed0fa50e3b519f644ece71ecef243e22192.jpg)
3. 輸入你的Email地址和名字,確保Email地址和名字與你註冊為iOS開發者時登記的相一致(不一致也沒關係)
其中 CA電子郵箱地址 欄目可以為空
![輸入Email、名字](https://i.iter01.com/images/27d860eb6e5f570a7e40300cf7fa354e2f50c1943d53a1749f5b6e8a903613b6.jpg)
4. 選擇儲存到磁碟(Saves to Disk),建議儲存到桌面,方便查詢
![儲存到磁碟](https://i.iter01.com/images/cc705f7ed0c6cdc96fa7a8bc9f7d81c48b4c28de2c309e7c2ba01211a1b98f61.jpg)
5. 開啟開發者中心,登入開發者賬號
![登入介面](https://i.iter01.com/images/cc71628f7a40948a9d4da1ad7df2582919a64cd83809c4a08b94c2d20f80fce5.jpg)
6. 選擇Certificates, Identifiers & Profiles
進入,然後選擇Certificates
![Certificates, Identifiers & Profiles](https://i.iter01.com/images/3273eb0c22df9f74a2fc74ee18a9782f78d70ebd45fbbe86f4cb5707e877297e.jpg)
![Certificates](https://i.iter01.com/images/7e293e94ed9fa962377e97fa1ba1c13d4b3a842c666aa40525efcb907544c4f8.jpg)
7. 選擇Certificates
,在右側選擇新增按鈕新增
![新增證書](https://i.iter01.com/images/4e1c327004d39e5d96a97d9d67117b1bc09fe9703a298528928189348877e770.jpg)
8. 選擇iOS App Development
,用於真機除錯的Certificates
檔案,點選Continue
。然後接下來會讓你建立CSR檔案(Create a CSR file),點選Continue
進入下一步上傳CSR檔案
![選擇真機除錯證書](https://i.iter01.com/images/e432a8592914f57106d922570847e4de970e2bd499c2d7928f49855c3f70a8c5.jpg)
9. 點選Choose File
選擇剛剛儲存在桌面的SCR檔案,然後點選Generate
。一會就生成我們想要的證書啦!
![Choose File](https://i.iter01.com/images/4b9a47492c303e8d18d21ff698c369fb9b44779efc5541bd6b3a40a4719181eb.jpg)
![上傳CSR檔案](https://i.iter01.com/images/5c863fe030a5521eaf242d98755fc85e4446db06a7eb2009db4a9a90635826fc.jpg)
10. 我們可以將剛剛生成的證書點選Download
下載到本地使用
![下載證書](https://i.iter01.com/images/65f9d75544c5dc63a54826426b69ab8febfe26f7012fe96453f21dc31e30032f.jpg)
證書的使用
如果開發者B,登入開發者賬號
,下載證書(cer檔案)執行,只有證書沒有私鑰,是不能正常使用的。所以如果有新同事加入到開發組的時候,應該從本地鑰匙串中選擇證書,一定要記得展開證書那一條顯示出私鑰並將兩行都選中,右鍵匯出2項,輸入密碼之後就生成p12檔案(包含證書和私鑰)給同事。
另外可以給同事一份描述檔案(Provisioning Profiles),用於本地開發識別測試裝置。
需要強調一點,證書和專案關係其實並不大,證書一般有效期只有一年,當證書過期後,只需要重新生成一份證書,上傳到開發者賬號
就行,同時因為原有證書過期,需要重新生成Provisioning Profiles
檔案。然後給同事們最新的p12檔案和Provisioning Profiles檔案就行
所以開發者賬號
中的證書,配置檔案是可以放心操作的(比如誤刪了,或者找不到證書私鑰了)
![iOS開發者證書的那些事](https://i.iter01.com/images/e3772aa0169d91d7c39200dbedef95f7d84638689b1d9f4a38bc2d54c7b5cb62.png)
Provisioning Profiles 描述檔案
在這裡,我引用別人的一段話,因為覺得寫得很喜感,但又很實在。
我想這個介面一彈出來的時候,蛋蛋憂傷迎面撲來。然後怒點 Fix issue,然後你們團隊負責管理證書的基友突然發現證書中心多了好多好亂的證書以及描述檔案,然後他爆了一句:what the fuck!刪掉了帶有Xcode *的證書以及描述檔案,然後自己又暴力的點了一發Fix issue,然後你突然除錯不了了,再暴擊Fix issue鍵,最後整個團隊都只有通過Fix issue來真機除錯了...
所以慎點Fix issue,如果點選這個選項,聰明的(
蠢哭的)Xcode就會自己管理描述檔案,然後各種莫名其妙的帶有Xcode *的證書以及描述檔案...其實只要堅信一點,證書、裝置ID、AppID、描述檔案都弄對了就絕逼不會出問題的!
描述檔案過期
蘋果官方文件寫明,企業證書有效期是3年,而描述檔案只有1年有效期。所以當你的描述檔案過期(expire)時。不用慌張,我看到網上好多朋友說刪除重新生成,其實不用這麼麻煩,只需要3步完成:點選過期的描述檔案展開詳情介面
-點選Edit按鈕
-點選Generate按鈕
再一次感謝您花費時間閱讀這篇文章!
微博: @Danny_呂昌輝
部落格: SuperDanny