很久沒有總結,回頭看了一下過期的賬號,記錄的內容少之又少。最近有一些時間,想好好總結記錄一下。 由於很久沒有記錄,想寫的東西很多又很雜,想了一下,一篇一篇羅列知識點和經驗,還不如寫一個系列,記錄一個應用的開發流程和經歷。 主線就是一個應用的構建和開發過程,期間再針對部分節點進行分析和探討。 這篇的標 ...
很久沒有總結,回頭看了一下過期的賬號,記錄的內容少之又少。最近有一些時間,想好好總結記錄一下。
由於很久沒有記錄,想寫的東西很多又很雜,想了一下,一篇一篇羅列知識點和經驗,還不如寫一個系列,記錄一個應用的開發流程和經歷。
主線就是一個應用的構建和開發過程,期間再針對部分節點進行分析和探討。
這篇的標題,之所以叫“拾遺”,可以參考一下我已過期的賬號(http://www.cnblogs.com/A-Long-Way-Chris/),裡面已經記錄了好幾篇開發證書的文章,在此只是做一些補充,作為正式開發前的一些準備。
如下內容,主要記錄p12證書和pem證書。
將蘋果開發者中心生成好的真機調試和發佈用的證書、推送用的證書加入鑰匙串後(指由當前Mac設備在開發者中心創建的證書),可以看到如下列表(因有多個應用,所以請忽略推送證書的個數):
選中iPhone Developer:xxxx 這個開發調試證書,保證“專用密鑰”未展開,右鍵選擇“導出xxxxxx”,出現如下界面
可以更改名稱和存儲位置,點擊“存儲”,會出現要求輸入密碼的界面,也可以不輸入密碼(即後續使用不需要密碼),直接確定。
導出的p12證書可以傳給其他同事,雙擊添加到鑰匙串,便於對同一個開發者賬號下的項目進行真機調試。
對於發佈證書可以有同樣的操作。
你可能涉及到的p12證書的主要用途:
1.用於多個開發者和多台設備配合開發調試
2.通過第三方平臺推送消息,例如友盟推送
3.生成pem證書,用於推送消息
補充推送用的pem證書生成流程:
對推送證書進行上述p12證書生成操作,例如得到一個apns-dev-cert.p12
然後展開“專用密鑰”,右鍵密鑰,導出得到apns-dev-key.p12
然後打開終端程式,依次輸入下列指令:
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
按要求輸入密碼
然後再輸入如下指令:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
最後得到的apns-dev.pem文件,即可用於部分推送消息的平臺
對於發佈證書可以有同樣的操作。
最後,記錄一下開發過程中,遇到的證書錯誤:
1.如果提示鑰匙串里的iPhone Developer:xxxx或者Distribution:xxxx過期,則需要在開發者中心重新編輯或生成證書,加入鑰匙串,生成p12證書給同事
2.如果提示“蘋果的安全證書過期”,需要前往下載新的安全證書,不過下次過期還有很多年:https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
3.如果Xcode編譯提示provisioning profile錯誤,則是配置概要文件錯誤,需要配置當前應用Debug或者Release模式對應證書下的provisioning profile
4.Archive打包導出ipa時候,提示“證書已經存在,但本地未安裝”,多半指ad hoc證書未正確配置。謹慎點擊“revoke”按鈕,此操作會導致開發和發佈證書重置
簡單來說,只要p12證書正確導入,多數問題由provisioning profile引起。
證書的總結和記錄已經很多了,基本概括了開發過程中經常遇到的情況,證書拾遺就先到這裡了,下篇正式開始一個App的開發流程記錄。