蘋果證書這套東西真是能把人煩死。今天試着從頭梳理一下,以後再不糾結這塊了。
目前開發的項目用到了三個證書:真機調試,蘋果推送,以及釋出到app store。在介紹這三個證書怎麼擷取之前,先說說準備工作。首先要有蘋果開發者賬号,在developer.apple.com就可以申請,需要支付$99每年的費用。然後需要在mac電腦上生成一個名為 CertificateSigningRequest.certSigningRequest 的檔案(翻譯過來應該叫“證書簽名”吧)。這個檔案通過 鑰匙串程式-鑰匙串通路-證書助理-從證書頒發機構請求證書 獲得。郵箱可以随便寫,然後勾選儲存到磁盤就行。這個檔案是後面生成各種證書的基礎。
真機調試
某位大神給出了真機調試所需檔案的概述:
“蘋果真機調試需要證書(Certificates)和描述檔案(Provisoning Profiles)
1、證書(Certificates) 通過蘋果自帶的鑰匙串生成後上傳到Developer中再生成來完成
2、描述檔案(Provisoning Profiles) 生成描述檔案時需要選擇App ID(包含Bundle,必須與你程式的bundle保持一緻,為了能同時調試多個程式,一般bundle填寫時末尾用*号代替,後文會具體說明)選擇證書(Certificates)及裝置(Devices)三樣東西
真機測試必要條件:App ID,證書,描述檔案,裝置,及調試程式的Bundle Identifier保持一緻”
OK,我們開始真機調試。再此之前,我先删除我的開發者中心裡的所有Certificates, identifiers, 以及provisioning profile,為了寫這篇教程我也真是拼了。當然devices我沒有删除,因為這跟其他檔案沒有關系。開發者中心:
https://developer.apple.com/account/ios/profile/profileLanding.action
首先,我們來添加App ID,它是你的app的唯一标示,App ID有四段描述分别是:name,prefix,ID,以及application service。name就是你的app的名字,prefix是一段神秘的字元,ID是com.Alfred.應用名字(這是最關鍵的,它就是你的app ID),application service是你的app需要開啟的蘋果服務。
接下來需要添加裝置。把你的iphone或者iPad或者iPod等連上電腦,在iTunes裡就會看到他的UDID,複制這個字元串,在開發者中心的device裡添加一個裝置,填寫這個UDID就可以。
接下來,添加證書(certificates)。選擇certificates-development,選擇iOS app development,然後上傳已經準備好的CertificateSigningRequest.certSigningRequest檔案。開發者中心會為你生成證書檔案(certificate),下載下傳它,然後輕按兩下安裝。
接下來,添加描述檔案(provisioning profile)。選擇provisioning profile-development,選擇iOS app development,再選擇你剛添加的App ID,選擇你剛剛添加的證書,再選擇你已經添加的裝置(device)。最後編輯這個描述檔案的名字。然後下載下傳,輕按兩下安裝。
最後,檢查你的Xcode裡,此項目的.plist檔案中bundle identifiers是否跟你的app ID一緻就好了。然後run your app on your device
釋出到app store
1.首先需要釋出(distribution)證書和描述檔案。
在certificates-distribution下建立一個證書,選擇App Store and Ad Hoc,然後上傳CertificateSigningRequest.certSigningRequest,生成證書檔案。下載下傳,輕按兩下安裝。
接下來,生成證書對應的provisioning profile(描述檔案)。在provisioning profile-distribution中建立一個描述檔案,選擇app store。然後選擇自己的App ID,選擇與之對應的證書。然後填寫profile name,需要與App ID的字尾,也就是你的程式名稱一樣。然後下載下傳,輕按兩下安裝。
2.然後需要打包應用成ipa檔案。
打包的步驟:
1)把模拟器設定成iOS Device,在product-scheme-edit scheme中,設定Run和Archive為release。
2)把Targets ---- Build Setting ---->>> Skip Install ---->Release 設為 No
3)點選product-archive,應該就能success了,然後organizer-archive會自己彈出。如果彈不出就去window-organizer中自己打開。
4)如果第3步走不通,就看看project-build settings-code signing是不是識别了你的證書。沒識别就自己手動修改一下。
5)在organizer-archive中導出ipa
6)在Xcode的程式包裡有一個application loader的應用,用來上傳ipa,但是如果你是Xcode 6,建議不要用它自帶的那個3.0版的application loader,去網上下一個2.9版本的。
7)打包且上傳結束。
8)如果你之前上傳過一次,那麼這次可能會遇到version重複不能上傳的問題,可以參考這個文章解決http://stackoverflow.com/questions/25680604/error-itms-9000-redundant-binary-upload-there-already-exists-a-binary-upload
參考:
目前最清晰的真機測試的文章:http://my.oschina.net/joanfen/blog/167730#OSC_h2_1
釋出證書的文章:http://my.oschina.net/joanfen/blog/133624
轉載于:https://my.oschina.net/u/1024573/blog/412434