天天看點

蘋果證書

蘋果證書這套東西真是能把人煩死。今天試着從頭梳理一下,以後再不糾結這塊了。

    目前開發的項目用到了三個證書:真機調試,蘋果推送,以及釋出到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