天天看點

iOS開發證書那點事兒

iOS開發是用Xcode作為開發工具,Xcode在安裝之後就自帶了模拟器(Simulator)。模拟器是個好工具,它對使用者沒有任何要求,但是我們必須牢記一件事:開發出來的App最終是要在真機上執行,沒有在真機上調試過,釋出出去的App一定會出現各種意想不到的問題,而且無法解決。而要使用真機調試,開發證書就無法繞過去。

一.開發賬号

蘋果的開發賬号主要分為三種:

  • 個人開發賬号:$99;App能上App Store;隻能個人使用。
  • 公司開發賬号:$99;App能上App Store;可多人協作開發。
  • 企業開發賬号:$299;App不能上App Store,僅能公司内部分發;可多人協作開發。

    個人和公司賬号除了允許的使用人數不一樣之外,沒有其他不同。接下來将以個人開發賬号為例闡明證書的建立及使用流程。

二. 建立證書及使用-以個人賬号的開發證書為例。

  1. 生成CSR檔案

    CSR檔案是通過Mac的鑰匙串生成的,是建立開發證書必須的。方法:打開鑰匙串,【鑰匙串通路】->【證書助理】->【從證書頒發機構請求證書】,填入“電子郵件位址”和“常用名稱”,選擇“存儲到磁盤”,點選繼續。之後我們會得到一個CSR檔案:CertificateSigningRequest.certSigningRequest。

    注意:在生成CSR檔案的同時,會生成一對秘鑰:公鑰和私鑰,私鑰被儲存到鑰匙串中(可在鑰匙串中檢視),公鑰被包含在CSR檔案中用于建立證書。

  2. 建立證書

    使用開發者賬号登入蘋果開發者網站:

    • 建立AppID。

      AppID也就是App的BundleID,用于唯一标示你的App。可通過"Identifiers"欄目建立,例如

      com.example.myApp

      。這裡要說一句,如果不使用推送功能,可建立形如

      com.example.*

      的AppID;但如果要使用推送功能,就必須使用具體的AppID。建立AppID的時候可同時勾選推送服務,然後建立推送證書。
    • 添加Device。

      将你iPhone的UUID添加到開發賬号中去,這樣你的iPhone就可以用于調試。不在開發賬号中的裝置無法參與調試。可通過"Devices"欄目添加。

    • 生成證書。

      在"Certificates"欄目下建立證書,選擇"iOS App Development",之後按要求上傳CSR檔案即可生成開發證書。

    • 建立Provisioning Profile(即PP檔案)。

      進入"Profiles"欄目,選擇"iOS App Development",之後選擇要加入到PP檔案中的AppID,然後選擇加入到PP檔案中的證書,最後選擇加入到PP檔案中的裝置。

      注意:PP檔案可以看成是一個"資料包“,不同類型的PP檔案包含不同的内容:

      ​ Development PP = AppID + DevelopmentCertS(可包含多個) + Devices

      ​ Distribution PP = AppID +DistributionCert

      ​ AdHoc PP = AppID + DistributionCert + Devices

  3. 本地配置

    将上述建立的證書(若有推送證書也需要一起下載下傳下來)和PP檔案下載下傳到本地。輕按兩下安裝證書會将證書添加到鑰匙串中,并自動與之前建立的私鑰關聯起來。輕按兩下PP檔案會将其添加到Xcode中,在真機調試時,Xcode會根據PP檔案去鑰匙串中通路相應的證書和私鑰,并驗證連接配接的裝置是否已經包含在PP檔案的裝置清單中。如果沒問題,就可以愉快的進行真機調試了。

三.P12檔案

如果有多台Mac的開發需求,自然會想到在每台Mac上都重複以上的步驟來建立證書和配置環境。但是Apple對一個開發賬号下建立的證書個數進行了限制,在建立多個證書之後就無法繼續建立了。事實上,Mac開發過程中最重要的是建立CSR檔案時生成的私鑰,可通過從鑰匙串中将證書(包含私鑰)導出為P12檔案來解決多台Mac開發的問題。

  1. 打開鑰匙串,找到對應的證書,展開證書項會發現其關聯了私鑰。右鍵導出為P12檔案。未關聯私鑰的證書是無法導出P12檔案的。
  2. 将該P12檔案和PP檔案分發到其他用于開發的Mac上面,然後安裝即可。

轉載于:https://www.cnblogs.com/zlayne89/p/11010610.html