iOS打包詳解

背景

今天使用Xcode打包上傳ipa時遇到一個問題: Missing private key,以下圖。經過查詢是.cer 證書失效的問題,須要從新生成新的證書。
在這裏插入圖片描述
蘋果規定 .cer證書只能存在於一臺機器上,所以 若是另外一臺電腦想要用的話,須要導出爲.p12 file ,安裝到另外一臺沒有安裝.cer文件的mac電腦。ios

首先,給你們普及下基本知識,iOS有兩種證書和描述文件:工具

證書類型 使用場景
開發(Development)證書和描述文件 用於開發測試
發佈(Distribution)證書和描述文件 用於提交Appstore,可以使用Application Loader提交到Appstore審覈發佈

iOS證書(.p12)

登陸iOS Dev Center

打開網站iOS Dev Center,使用蘋果開發者帳號登陸iOS Dev Center。
在這裏插入圖片描述
登陸成功後,打開「iOS Certificates」頁面,能夠看到全部已經申請的證書及描述文件。
在這裏插入圖片描述測試

申請蘋果App ID

在「iOS Certificates」頁面「Identifiers"下選擇「App IDs",可查看到已申請的全部App ID,點擊右上角的加號可建立新的「App ID」。
在這裏插入圖片描述
在「App Services」欄下選擇應用要使用到的服務(如須要使用到消息推送功能,則選擇「Push Notifications」)。例如:
在這裏插入圖片描述
設置完成後選擇「Continue」,彈出確認頁面,確認後選擇「Submit」提交,再次確認就能夠在「App IDs"頁面看到剛建立的App ID。網站

生成證書請求文件

對於iOS開發來講,無論是申請開發(Development)證書仍是發佈(Distribution)證書,都須要使用證書請求(.certSigningRequest)文件,證書請求文件需在Mac OS上使用「Keychain Access」工具生成。
在「Spltlight Search」中搜索「Keychain」並打開「Keychain Access」工具:
在這裏插入圖片描述
打開菜單「Keychain Access」->「Certificate Assistant」,選擇「Request a Certificate From a Certificate Authority...」。
在這裏插入圖片描述
打開建立請求證書頁面,在頁面中輸入用戶郵件地址(User Email Address)、證書名稱(Common Name、請求類型(Request is),最後選擇保存到磁盤(Saved to disk)。
在這裏插入圖片描述
點擊「Save」後保存證書請求文件。
在這裏插入圖片描述ui

申請開發(Development)證書

開發(Development)證書用於測試環境下使用,能夠直接安裝到手機上(不用提交到Appstore),但一個描述文件最多隻能綁定100臺設備(所以經過這種證書正式發佈應用是行不通的)。spa

申請開發證書

在「Certificates, Identifiers & Profiles」頁面「Certificates"下選擇「Development",可查看到已申請的全部開發(Development)證書,點擊右上角的加號可建立新的證書。
在這裏插入圖片描述
打開「Add iOS Certificate」頁面,在「Development」欄下選中「iOS App Development」。
在這裏插入圖片描述
打開證書生成頁面,點擊「Choose File...」選擇「生成證書請求文件」章節生成的「CertificateSigningRequest.certSigningRequest」文件,點擊「Generate」生成cer證書成功。
在這裏插入圖片描述調試

生成證書成功後打開證書下載頁面,選擇「Download」下載保存證書(ios_development.cer)。
在這裏插入圖片描述
雙擊保存到本地的ios_development.cer文件導入到「Keychain Access」,導入成功後,能夠在證書列表中顯示。
在這裏插入圖片描述
選中導入的證書,右鍵選擇「Export "Developer" ...」:
在這裏插入圖片描述
打開證書保存頁面,輸入文件名、選擇路徑後點擊「Save」,而後打開設置證書密碼頁面,輸入密碼及確認密碼後點擊「OK」。
在這裏插入圖片描述
打開訪問「Keychain Access」密碼頁面,輸入Mac OS管理員密碼,點擊「Allow」,便可保存開發(Development)證書(如「HBuilderCert.p12」)。code

添加調試設備

開發描述文件必須綁定設備,因此在申請開發描述文件以前,先添加調試的設備。具體來講,在「Certificates, Identifiers & Profiles」頁面「Devices」下選擇「All",可查看到已添加的全部設備信息,點擊右上角的加號可添加新設備。
在這裏插入圖片描述
打開「Registering a New Device or Multiple Devices」頁面,輸入設備名稱和UDID。
在這裏插入圖片描述
在這裏插入圖片描述
將設備鏈接到電腦,啓動iTunes,點擊次區域可切換顯示設備的UDID,右鍵選擇複製UUID。
在這裏插入圖片描述
輸入完成後,點擊「Continue」繼續,確認輸入信息,若是沒有錯誤點擊「Register」便可完成添加。
在這裏插入圖片描述圖片

申請開發(Development)描述文件

在「Certificates, Identifiers & Profiles」頁面「Provisioning Profiles」下選擇「Development",可查看到已申請的全部開發(Development)描述文件,點擊右上角的加號可建立新描述文件。
在這裏插入圖片描述
打開「Add iOS Provisioning Profile」頁面,在「Development」欄下選中「iOS App Development」。
在這裏插入圖片描述ip

點擊「Continue」按鈕,打開「App ID」選擇頁面,選擇要使用的「App ID」,點擊「Continue」。
在這裏插入圖片描述
打開「Select certificates」頁面,選擇前面建立的開發證書。
在這裏插入圖片描述
點擊「Continue」,打開選擇調試設備頁面,選擇用於調試安裝的設備(最多100太設備)。
在這裏插入圖片描述
點擊「Generage」,生成描述文件成功,而後下載描述文件便可。
在這裏插入圖片描述

申請發佈證書

發佈(Production)證書用於正式發佈環境下使用,用於提交到Appstore審覈發佈,申請的過程和申請開發(Development)證書相似。

申請發佈(Production)證書

在「Certificates, Identifiers & Profiles」頁面「Certificates"Production",可查看到已申請的全部發布(Production)證書,點擊右上角的加號可建立新證書。
在這裏插入圖片描述
打開「Add iOS Certificate」頁面,在「Production」欄下選中「App Store and Ad Hoc」。
在這裏插入圖片描述
打開確認證書請求頁面,點擊「Continue」繼續。
在這裏插入圖片描述
生成證書成功後打開證書下載頁面,選擇「Download」下載保存證書(ios_production.cer)。
在這裏插入圖片描述
雙擊保存到本地的ios_production.cer文件導入到「Keychain Access」。導入成功後,能夠在證書列表中顯示。
在這裏插入圖片描述
選中導入的證書,右鍵選擇「Export "Developer" ...」。
在這裏插入圖片描述
一樣,打開證書保存頁面,輸入文件名、選擇路徑後點擊「Save」。打開訪問「Keychain Access」密碼頁面,輸入Mac OS管理員密碼,點擊「Allow」,保存開發(Production)證書(如「HBuilderCert.p12」)。
在這裏插入圖片描述

申請發佈(Distribution)描述文件

在「Certificates, Identifiers & Profiles」頁面「Provisioning Profiles」下選擇「Distribution",可查看到已申請的全部發布(Distribution)描述文件,點擊右上角的加號可建立新描述文件。
在這裏插入圖片描述
打開「Add iOS Provisioning Profile」頁面,在「Development」欄下選中「iOS App Development」。
在這裏插入圖片描述
點擊「Continue」按鈕,打開「App ID」選擇頁面,選擇要使用的「App ID」,點擊「Continue」。
在這裏插入圖片描述
打開「Select certificates」頁面,選擇前面建立的發佈證書。
在這裏插入圖片描述
點擊「Generage」,生成描述文件成功。
在這裏插入圖片描述而後,下載描述文件點擊安裝便可。

相關文章
相關標籤/搜索