因為蘋果的安全策略,通過簽名機制保證手機上的每個App都是經(jīng)過蘋果認證的。
App的安裝方式有四種:
通過App Store安裝。
開發(fā)者可以通過Xcode安裝。
Ad-Hoc 測試證書打包的App,數(shù)量限制100。
In-House 企業(yè)版證書打包App,信任企業(yè)證書后可以使用。
Identifiers (應(yīng)用標(biāo)識 Bundle ID 使用的服務(wù))
選擇頁面的 “Identifiers" 可查看到已申請的所有 App 應(yīng)用標(biāo)識,點擊頁面上的加號來創(chuàng)建一個新的應(yīng)用標(biāo)識:

選擇標(biāo)識類型為 “App IDs”,然后點擊 “Continue”

平臺選擇 “iOS,tvOS,watchOS”,Bundle ID 選擇 “Explicit”,在 Description 中填寫描述,然后填寫 Bundle ID,Bundle ID 要保持唯一性,建議填寫反域名加應(yīng)用標(biāo)識的格式 如:“io.dcloud.hellouniapp”, 然后點擊 “Continue”
注意:在 HBuilderX 中 App 提交云端打包時界面上的 AppID 欄填寫的就是這個 Bundle ID

接下來需要選擇應(yīng)用需要使用的服務(wù)(如需要使用到消息推送功能,則選擇“Push Notifications”),然后點擊 “Continue”
注意:如果App用不到的服務(wù)一定不要勾選,以免響應(yīng)審核

確認后選擇提交,回到 identifiers 頁面即可看到剛創(chuàng)建的App ID:

至此,App ID 已經(jīng)創(chuàng)建完畢,接下來開始創(chuàng)建開發(fā)證書,在創(chuàng)建開發(fā)證書前,需要先生成證書請求文件
生成證書請求文件
不管是申請開發(fā) (Development) 證書還是發(fā)布 (Distribution) 證書,都需要使用證書請求 (.certSigningRequest) 文件,證書請求文件需在Mac OS上使用 “鑰匙串訪問” 工具生成。
在“Spltlight Search”中搜索“鑰匙串”并打開 “鑰匙串訪問” 工具:


打開菜單 “鑰匙串訪問”->“證書助理”,選擇“從證書頒發(fā)機構(gòu)請求證書...”:

打開創(chuàng)建請求證書頁面,在頁面中輸入用戶郵件地址、常用名稱,選擇存儲到磁盤,點擊 “繼續(xù)” :

文件名稱為“CertificateSigningRequest.certSigningRequest”,選擇保存位置,點擊 “存儲” 將證書請求文件保存到指定路徑下,后面申請開發(fā)(Development)證書和發(fā)布(Production)證書時需要用到

申請開發(fā)(Development)證書和描述文件
開發(fā)(Development)證書及對應(yīng)的描述文件用于開發(fā)階段使用,可以直接將 App 安裝到手機上,一個描述文件最多綁定100臺測試設(shè)備(開發(fā)證書不能用于發(fā)布應(yīng)用到 App Store)。
申請開發(fā)(Development)證書(Certificates cer證書 證書請求文件 本地p12 證書(帶密碼))
在證書管理頁面選擇 “Certificates" 可查看到已申請的所有證書(TYPE:Development 為開發(fā)證書,Distribution為發(fā)布證書),點擊頁面的加號來創(chuàng)建一個新的證書:

在 “Software” 欄下選中 “iOS App Development” 然后點擊 “Continue”:

接下來需要用到剛剛生成的證書請求文件,點擊“Choose File...”選擇剛剛保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,點擊 “Continue” 生成證書文件:

生成證書后選擇 “Download” 將證書下到本地 (ios_development.cer):

雙擊保存到本地的 ios_development.cer 文件,會自動打開 “鑰匙串訪問” 工具說明導(dǎo)入證書成功,可以在證書列表中看到剛剛導(dǎo)入的證書,接下來需要導(dǎo)出 .p12 證書文件,選中導(dǎo)入的證書,右鍵選擇 “導(dǎo)出...”:

輸入文件名、選擇路徑后點擊 “存儲”:

輸入密碼及確認密碼后點擊 “好”:

至此,我們已經(jīng)完成了開發(fā)證書的制作(得到了 xxx.p12 證書文件),接下來,繼續(xù)生成開發(fā)階段所需的描述文件,在生成描述文件之前,需要先添加調(diào)試設(shè)備(iPhone 、iPad)
添加調(diào)試設(shè)備 Devices
開發(fā)描述文件必須綁定調(diào)試設(shè)備,只有授權(quán)的設(shè)備才可以直接安裝 App,所以在申請開發(fā)描述文件之前,先添加調(diào)試的設(shè)備。
(如果已經(jīng)添加設(shè)備,可跳過此節(jié))
在證書管理頁面選擇 “Devices”,可查看到已添加的所有設(shè)備信息,點擊頁面上的加號來添加一個新設(shè)備:

填寫設(shè)備名稱 和 UDID(設(shè)備標(biāo)識):

獲取設(shè)備UDID方法,將設(shè)備連接到電腦,啟動 iTunes,點擊此區(qū)域可切換顯示設(shè)備的 UDID,右鍵選擇復(fù)制
輸入完成后,點擊“Continue” 繼續(xù)完成添加即可;
接下來繼續(xù)申請描述文件
申請開發(fā) (Development) 描述文件 ( Profiles 綁定bundle ID 要綁定的證書.mobileprovision)
在證書管理頁面選擇 “Profiles”,可查看到已申請的所有描述文件,點擊頁面上的加號來添加一個新的描述文件:

在 “Development” 欄下選中 “iOS App Development”,點擊“Continue”按鈕:

這里要選擇之前創(chuàng)建的 “App ID” (這里是“io.dcloud.hellouniapp”),點擊“Continue”:

接下來選擇需要綁定的證書,這里建議直接勾選 “Select All”,點擊“Continue”:

選擇授權(quán)調(diào)試設(shè)備,這里建議直接勾選 “Select All”,點擊 “Continue”:

輸入描述文件的名稱(如“HelloUniAppProfile”), 點擊 “Generate” 生成描述文件:

點擊“Download”下載保存開發(fā)描述文件(文件后綴為 .mobileprovision)

至此,我們已經(jīng)得到了開發(fā)證書(.p12)及對應(yīng)的描述文件(.mobileprovision),接下看一下如何制作發(fā)布證書及發(fā)布描述文件
申請發(fā)布(Distribution)證書和描述文件
發(fā)布 (Production) 證書用于正式發(fā)布環(huán)境下使用,用于提交到Appstore審核發(fā)布。發(fā)布證書打包的 ipa,不可以直接安裝到手機上
申請發(fā)布(Production)證書 (Certificates cer證書 證書請求文件 本地p12 證書(帶密碼))
在證書管理頁面選擇 “Certificates" 可查看到已申請的所有證書(TYPE:Development 為開發(fā)證書,Distribution為發(fā)布證書),點擊頁面的加號來創(chuàng)建一個新的證書:

在 “Software” 欄下選中 “App Store and Ad Hoc”,點擊 “Continue”:

接下來同樣需要用到之前生成的證書請求文件,點擊“Choose File...”選擇剛剛保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,點擊 “Continue” 生成證書文件:

生成證書成功,選擇“Download” 將證書下載到本地 (ios_production.cer):

同樣雙擊保存到本地的 ios_production.cer 文件將證書導(dǎo)入到 “鑰匙串訪問”工具中,可以在證書列表中看到剛剛導(dǎo)入的證書,接下來需要導(dǎo)出 .p12 證書文件,選中導(dǎo)入的證書,右鍵選擇 “導(dǎo)出...”:

輸入文件名、選擇路徑后點擊 “存儲”:

輸入密碼及確認密碼后點擊 “好”:

至此,我們已經(jīng)完成了發(fā)布證書的制作(得到了 xxx.p12 證書文件),接下來,繼續(xù)生成發(fā)布描述文件
申請發(fā)布 (Distribution) 描述文件
在證書管理頁面選擇 “Profiles”,可查看到已申請的所有描述文件,點擊頁面上的加號來添加一個新的描述文件:

在 “Distribution” 欄下選中 “App Store”,點擊“Continue”按鈕:

這里要選擇之前創(chuàng)建的 “App ID” (這里是“io.dcloud.hellouniapp”),點擊“Continue”:

接下來選擇需要綁定的發(fā)布證書(iOS Distribution),這里勾選剛剛生成的發(fā)布證書”,點擊“Continue”:

接下來輸入描述文件的名稱(如“HelloUniAppProfileDistribution”), 點擊 “Generate” 生成描述文件:

然后點擊 “Download” 將描述文件下載到本地(文件后綴為 .mobileprovision)
至此,我們已經(jīng)得到了發(fā)布證書(.p12)及對應(yīng)的發(fā)布描述文件(.mobileprovision)
revoke證書對生產(chǎn)、測試環(huán)境的影響
(1)revoke生產(chǎn)環(huán)境證書是不會影響已上架的app。
(2)revoke開發(fā)環(huán)境證書,則安裝過該證書的app的用戶將無法打開該app了,并且一點擊app會出現(xiàn)閃退現(xiàn)象。這時就需要開發(fā)人員重新生成開發(fā)證書后打包app了。
Missing private key出現(xiàn)的原因
(1)忘記mac開機密碼,在開機時進入終端重設(shè)密碼,會導(dǎo)致私有key丟失。
(2)證書生成的源電腦不是你所用的電腦,要向源電腦請求p12文件和描述文件。具體可見“在團隊中,證書文件管理”。
在團隊中,證書文件管理
用XCode打包時,有時系統(tǒng)會提示“missing private key”等錯誤。打開鑰匙串,在“登錄”選項查看種類為“證書”的名稱,是否含有三角符號,沒有代表缺失private key 。如下圖:

在別人的電腦上要成功安裝,須具備兩個文件
(1)該證書導(dǎo)出的“.p12”文件
(2)蘋果開發(fā)者中的與“證書”對應(yīng)的“描述文件”。(描述文件是.mobileprovision格式的文件)
個性化保存證書設(shè)置:

共享證書
如果你不想給Apple ID給別人,又想讓別人為你開發(fā)軟件并上傳到你的app store上,那么你只要做如下的操作:
打開鑰匙串(不知道如何找看前面),如下圖所示:



輸入密碼,這個密碼需要告訴對方,因為對方在安裝這個文件時需要這個密碼,有人說只能導(dǎo)出開發(fā)證書的.p12文件,其實開發(fā)證書的p12文件也時可以導(dǎo)出的,操作步驟時一樣的。
到這里恭喜你已經(jīng)全部成功了,還差最后一步,那就是你需要提供那些東西給對方,需要提供的東西如下:
1,App ID
2, 導(dǎo)出的這兩個p12文件(包含密碼)
3,兩個profile 文件(profile 文件里面包含對方的測試設(shè)備的UDID,不然對方?jīng)]法在真機上進行測試)。