IOS開發 證書總結

開發者證書   ------>> app


 

首先你必須得到apple開發者證書,上圖這個文件就是apple開發者證書,只要有apple的開發者帳號就能夠下載到,此證書能夠直接到iphone

developer.apple.com -->ui

    Member Center -->spa

      Certificates, Identifiers & Profiles, Certificate -->code

        Certificates  -->  Add Certificates 裏面下載到, 以下圖:xml

那麼這個文件有什麼用處? 後文再說!ip

 

其次須要理解 Certificate, Identifier, Devices, Provisioning Profiles開發


 

Certificateget

用於給應用程序簽名(只有簽名過的應用程序才能保證其來源是可信任的,代碼是完整的,未經修改的), 在項目的Project  |  Targets -----> Build Settings -----> Code Signing Identity裏面指定, 以下圖:it

 

 

咱們如何給應用程序簽名?
 
    申請Certificate以前須要申請一個 Certificate Signing Request(CSR) 文件,這個文件是保存在咱們的mac的(keychain)裏面的, 此文件包含了(公鑰和私鑰), 而咱們的應用程序簽名是使用私鑰來簽名用公鑰來進行驗證,  而蘋果生成的Certificate 只包含了公鑰, 當你用本身的私鑰簽名後,蘋果會用公鑰來進行驗證,確保是你本身對程序簽名而不是別人冒充的。
 
  •     首先是申請CSR文件,打開Keychain Access, 以下圖:  

      

  • 而後按下圖依次點擊

      注意下圖的  Request a Certificate from a Certificate Authority 
      若是沒有這個選項的話,還記得文章開頭的那個AppleWWDRCA.cer證書麼,對了就是它,安裝它後就OK啦

  • 再而後common name隨便填, CA Email Address 留空, 再點擊continue 繼續

 

  • OK, CSR文件就生成了

那麼上一步說的CSR文件包含了public key 和 private key咱們就能夠在Keychain Access裏面看到了, 以下圖:

 

 

CSR文件生成以後就要生成Certificate了, 進入Developer頁面(Certificates, Identifiers & Profiles) --> Certificates ---> + 

    1.     選擇證書類型     (Development or Production)
    2.     上傳提供以前建立的 Certificate Signing Request(CSR)文件
    3.     下載生成好的Certificate 文件
    4.      雙擊安裝(特別提示:若是之前有安裝過此開發者證書且名字相同,雙擊安裝極有可能不生效,須要作的是直接把此Certificate文件拖入到Keychian Access的Login裏面,固然若是之前的沒用的能夠刪除, --- 經過搜索iphone developer能夠找到)

 

Identifier:
做用?
    
    顧名思義App ID(application id, not apple id), 對於你的一個或者一組app他們的惟一標識, 這個App ID跟你Xcode中的Targets -----> General-----> Identity中的Bundle Identifier是匹配的,( 其他的那些推送服務啊什麼的都是配置在APP ID下面的) 以下圖:

 

 

Provisioning Profile

    
    一個Provisioning Profile包含了上述全部內容 Certificate && App ID && Device, 這個Provisioning Profile文件會在打包時嵌入到.ipa的包裏,以下圖: 
 
 
因此一臺設備上運行應用程序的過程以下(以Developer Provisioning Profile爲例):
 
1 檢查app 的 bunld ID 是否 matches Provisioning Profile 的 App ID
2 檢查 app 的 entitements 是否 matches Provisioning Profile 的 entitements
3 用Certificate來驗證簽名簽名
4 檢查此設備的UDID是否存在於 Provisioning Profiles中 (僅在 非發佈證書中)
 
如何建立?
在 Provisioning Profiles 中點加號,而後依次選擇App ID, Certificate, Devices(development),再指定名稱,最後下載, 雙擊則安裝到Xcode中
 
 
Xcode中的配置
 
Project && Target 的 build settings 中搜索Code sign…
而後分別選好對應的證書,若是選擇列表中沒有剛纔建立的證書能夠雙擊直接複製名字上去 

 

 

關於推送服務
基於上面的操做,若是須要推送服務咱們還須要申請一個推送證書
 
依次進入 Certificates —>Production —>Apple Push Notification service SSL (Production)
而後選擇須要推送服務的App ID
再選擇前面建立的.cerSigningRequest文件
最後點擊generated生成推送證書 
相關文章
相關標籤/搜索