1.開發者p12:有兩個
分別是development用的跟distribution用的,一般來說客戶不給開發者帳號的都是公司帳戶,所以提 供的p12格式會像這樣,develop像是:developmentName.p12,distribution會長得像是companyName.p12。p12點兩下加入keychain,名稱前方要有三角形才是對的。
2. provision:有三個
a. provision for development (例:appDev.mobileprovision)3.推播設定檔案:有兩個,下載後需要打指令產生
b. provision for distribution AdHoc (例:appAdHoc.mobileprovision)
c. provision for distribution APP Store (例:appAppstore.mobileprovision)
a.push for development ( 例:apns_dev.pem)
b.push for distribution (例:apns_pro.pem)
指令如下
比如說要建立development 用的pem,要先有 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
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
然後再做一次 apns_dis 的
(需注意同一個bundle id 只可以設定一個provision,設定兩個以上的話,推播會收不到)
最後再說明一次,開發者拿到p12 還有 bumdle id 名稱,就可以開始開發了
開發時用deveopment的provision 就可以把檔案builld 到允許的device裡,要測推播就把客戶給的pem傳到push server裡,就可以測試推播了。
程式寫完要給客戶測試,包成ipa後可以用testflight,也可以自己架個Adhoc的server。
客戶檢查後都ok,準備要上架了,這時要請客戶在iTune connect裡面建APP,打好一切資料,狀態變成waiting for upload以後。
然後分為兩種情況走下去:
一種是要給程式碼給客戶,那就把程式碼打包給客戶,客戶那邊使用Xcode Archive上架。
如果程式碼不用客戶,只需給ipa的話
用上架用的provision包出ipa,把ipa丟給客戶。客戶一般都會用Application Loader 上架。
補充說明:
很少有客戶會不給開發者帳號要自己上架的,我遇過的只有XX協會、XX市政府而已,他們的開發者帳號裡面有10~20個APP,同時有好幾個外包公司在執行他們的案子,為了怕外包公司之間彼此打架,所以統一都不給開發者帳號,而是由自己的資訊人員來處理app管理事宜。
2 則留言:
有個問題想請教一下版主
最後提到的兩種辦法
第二個辦法是客戶那邊要給我們distribution 憑證和他們的p12檔讓我們用xcode去設定code sign然後再包出ipa檔嗎?
沒有錯,給客戶ipa以後他們用Application Loader就可以上架了
張貼留言