開發者證書 ------>>
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 繼續

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

CSR文件生成以後就要生成Certificate了, 進入Developer頁面(Certificates, Identifiers & Profiles) --> Certificates ---> +
- 選擇證書類型 (Development or Production)
- 上傳提供以前建立的 Certificate Signing Request(CSR)文件
- 下載生成好的Certificate 文件
- 雙擊安裝(特別提示:若是之前有安裝過此開發者證書且名字相同,雙擊安裝極有可能不生效,須要作的是直接把此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生成推送證書