您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“基于iOS開發證書和配置文件怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“基于iOS開發證書和配置文件怎么用”這篇文章吧。
提示:之前只是根據網上的流程完成了iOS項目的發布過程,對于證書和配置文件仍是一頭霧水,這里參照別人的文章,簡單了解一下,畢竟以后用的著。
這里有幾個問題:
?什么是iOS證書,它是如何與app應用關聯的?
?iOS開發證書和生產證書有何區別,如何使用的?
?證書與配置文件(Provisioning Profiles)是什么關系,配置文件在Xcode中如何使用?
?證書以及配置文件如何申請?
?什么是Key Pair(公鑰/私鑰)?如何與證書關聯的?
?簽名的作用是什么?
1. 準備工作:
如果想要進行iOS開發,首先要具備下面一些條件:
1.1 首先要有蘋果開發賬號(Apple Developer Acount)?只有擁有開發者賬號,才能申請開發/發布證書及相應配置文件。
?開發者賬號個人或公司開發者賬號$99和企業開發者賬號$299兩種類型。
1.2 若要進行真機調試,必須至少擁有一臺MAC電腦。
2. 登錄iOS Dev Center
如果已經擁有蘋果開發者賬號,直接登錄蘋果開發者中心申請開發證書。
進入到證書申請界面:
從上面可以看到四個關鍵東西:Certficates(證書)、Identifiers(標識符)、Devices(設備)、Provisioning Profiles(供應配置文件),我們分別介紹這四項。
2.1 Identifiers(標識符)
Identifiers即標識符,相當于身份證,用于創建以下三個ID:
?App IDs
?Pass Type IDs
?Website Push IDs
2.1.1 關于App IDs
其中,App ID是應用的唯一標識符:
?App ID和Xcode中的Bundle Identifier 是一致(Explicit)的或匹配(Wildcard)。
?App ID字符串通常以反域名(reverse-domain-name)格式的Company Identifier (Company ID) 作為前綴 (Prefix/Seed),一般不超過255個ASCII字符
?用戶可在Developer MemberCenter網站上注冊(Register)或刪除(Delete)已注冊的App IDs。
2.1.2 創建App ID
在“Identifiers”一欄下選擇“App IDs”,可查看所有已申請的App IDs,點擊右上“+”。
進入Register IOS App ID 界面,在"App ID Description"欄下的“name”項中輸入名稱
填寫Bundle ID:
?在"Explicit App ID" 欄下的“Bundle ID”項中輸入 App ID (反域名格式,如com.company.test)
?這里的“Bundle ID” 對應Xocde的中的“Bundle identifier”
?Explicit App ID :唯一的App ID,用于唯一標識一個應用程序。例如“com.apple.garageband”這個App ID,用于標識Bundle Identifier為"com.apple.garageband"的app。
?Wildcard App ID:含有通配符的App ID,用于標識一組應程序,例如“com.apple”(實際上是Application Identifier Prefix)表示所有應用程序;而“com.apple.”可以表示Bundle Identifier 以 “com.apple.”開頭(蘋果公司)的所有應用程序。
在"App Services"欄下選擇應用要使用到的服務(如果要使用推送功能,勾選“Push Notifications”)。
點擊continue - 點擊submit - 點擊done,申請“App IDs”完成,點擊 All IDs可查看申請的ID,點擊該ID
點擊 Edit 可對該App ID進行編輯。
2.2 Certificates2.2.1 描述
iOS證書是用來證明iOS App內容(executable code)的合法性和完整性的數字證書。對于想安裝到真機或發布到AppStore的應用程序,只有經過簽名驗證(Signature Validated)才能確保來源可信,并且保證App內容是完整、未經篡改的。
?數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息已經公開密鑰的文件。具有時效性,只在特定的時間段內有效。
?iOS證書分為兩種:開發證書和生產證書。開發證書用于開發和調試應用程序,可用于聯機調試。生產證書用來發布應用程序。
2.2.2 生成證書請求文件(CSR)
可以通過KeyChain(鑰匙串)證書助理從證書頒發機構請求證書。在iOS Dev Center中添加證書(Certificates)時,需要上傳CSR文件。
打開KeyChain(鑰匙串),點擊菜單欄“鑰匙串訪問” - “證書助理” - “從證書頒發機構請求證書”
填寫開發者賬號郵件和常用名稱,勾選“存儲到磁盤”
繼續并選擇存儲位置后,KeyChain將生成一個包含開發者身份信息的CSR(Certificate Signing Request)文件。同時,KeyChain Access - keys(密鑰)中增加一對 Public/Private Key Pair。
?私鑰:始終保存在Mac OS的Keychain Access中,用于簽名對外發布的App
?公約:一般隨證書散步出去,對App簽名進行校驗認證。
2.2.3 申請證書
進入iOS Dev Cneter,點擊"Certificate" - "All",點擊右上角"+"(也可以點擊“Certificate”下的“Development”或“Production”,直接選擇申請開發證書或生產證書),進入如下界面:
選擇開發證書或者生產證書,這里以生產證書為例,繼續:
選擇App ID,即我們在“Identifiers”中創建的App ID,繼續:
這里介紹的是如何生成證書請求文件,即我們在“2.2.2 生成證書請求文件(CSR)”中生成的.certSigningRequest文件,然后繼續:
這里需要添加的是你生成的證書請求文件(CSR),“Choose File”選擇生成的.certSigningRequest文件,點擊"Generate",如圖申請開發證書完成,申請生產證書類似,這里不再贅述。
我們可以點擊"Download"下載該開發證書,或者在“Certificates” - All 中查看該證書,并進行下載或刪除。
我們下載證書,然后需要雙擊 導入 鑰匙串(KeyChain Access),然后就可以在 KeyChain Access - 證書 中查看:
展開安裝的證書(ios_development.cer)前面的箭頭,可以看到其對應的私鑰,在 KeyChainAccess - "密鑰"中展開創建CSR時生成的Key Pair中的私鑰前面的箭頭,就可以查到包含其對應公鑰的證書。
2.2.4 導出證書
打開Keychain Access,選擇安裝成功的證書,右鍵選擇“導出:
輸入名字,默認格式為.p12類型,選擇”save“
設置密碼,點擊"OK"
2.3 Devices
?Device 是指運行iOS系統用于開發調試App的設備,每臺Apple設備使用UDID來唯一標識。
?設備的UDUD獲取就不說了
?開發描述文件 (Provisioning Profiles)必須綁定設備,所以在申請開發描述文件之前,必須要添加調試的設備
2.3.1 添加調試設備
進入iOS Dev Center,”Devices“下選擇”All“,可查看所有已添加的設備,點擊右上角”+“添加新的調試設備:
輸入”Name“和 UDID (可在xcode或者itunes中查看)后繼續
確認信息后,點擊注冊,完成添加。
2.4 Provisioning Profiles2.4.1 概念
Provisioning Profile文件包含了上述所有內容:證書、App ID、設備,后綴名為.mobileprovision
?一個Provisioning Profile 對應一個Explicit App ID 或 WildCard App ID.
?Provisioning Profile 決定Xcode用哪個證書(公鑰)/私鑰組合來簽名應用程序,將在應用程序打包時嵌入到.ipa包里
?Provisioning Profile把這些信息全部打包在一起,方便我們在調試和發布程序打包時使用,這樣,只要在不同的情況下,選擇不同的Provisioning Profile文件就可以了
?Provisioning Profile 也分為 Development 和 Distribution 兩類,有效期同 Certificate一樣。Development版本的ProvisioningProfile用于開發調試,Distribution版本的ProvisioningProfile主要用于提交App Store審核,其不指定開發測試的Devices.
?xcode 開發時,需在 XcodeTarget - build settings - code signing - provisioning profile 下配置對應的描述文件,然后在code signing identity 下拉可選擇 identities from profile 即Provisioning Profile中包含的Certificates
?在XcodeTarget - build setting code signing - provisioning profile 可選擇”Automatic“,xcode會根據該Target的”Bundle Identifier“選擇默認的配置文件及證書。
2.4.2 創建配置文件
打開iOS Dev Center,”Provisioning Profiles“ - all,點擊右上角"+",或直接點擊”Development“ 或 ”Production“
選擇開發或發布證書配置文件,這里以開發為例,點擊iOS AppDevelopment,繼續
選擇對應的App ID,繼續
選擇要關聯的證書,可多選
選擇用于調試安裝的設備(最多100臺設備),如果是生產證書配置文件,則不會出現該頁面:
輸入文件名后,點擊"Generate",配置文件創建成功:
點擊"DownLoad"進行下載。
如圖下載到本地的Provisioning Profile,雙擊自動安裝到Xcode中,在XcodeTarget->Build Settings->Code Signing->Provisioning Profile中可看到此項。
如圖,選擇此項配置文件,code signing identity 中會默認顯示所關聯的證書文件,即創建該配置文件時選擇關聯的證書,可以有多個,生產證書配置文件與之類似,不再多說。
以上是“基于iOS開發證書和配置文件怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。