2012年2月22日

Certificate, Provisioning file, code signed

整理好了就來貼一下:

Apple iOS developer的帳號可分為兩種:
個人開發:99 USD/年,可部屬App到最多100台開發用裝置上
企業用:  299 USD/年,需企業資格,不可上架,但可部屬App到任意裝置上(也有100台開發用裝置Quota)
可參考https://developer.apple.com/programs/ios/enterprise/



帳號權限分Agent跟Admin,Agent只有一個,可是Admin可以有好幾個
只有Agent可以進行上架

Certificate
取得帳號後可到Portal中產生Certificate
Certificate用來認證開發者的身份,也是讓App可以安裝到裝置的要素之一
和電腦綁定,如果需轉移的話可以匯出成.p12檔複製到目標電腦去
分為Developer和Distribution,只有Distribution的Certificate可以上架
iOS 4後好像又多了Mobile Device Management,看起來是管裝置用的,還得試看看


Provisioning profile
Provisioning profile用來認證裝置執行程式的合法性,也就是code signed
Provisioning profile也分為Developer和Distribution
Developer Provisioning file給開發者debug用,會確認兩件事:
1.允許哪些開發者使用
2.允許哪些已登記的裝置使用
一般Team Provisioning profile(*)就可以認證所有的程式
如app有用到push notification或者In-app purchase,則需用獨立的App ID
也就是說App ID不能用有星號(wild-card),需另產生一個專用的provisioning profile
Distribution Provisioning profile專用於上架(企業版則是用來包發布用的ipa)

程式編譯成功但不給跑,有時候都是出在code signed error,這時候可以嘗試檢查:
1.Bundle ID是否包含於provisioning profile指的App ID
(如App ID支援的是com.abc.*,Bundle ID就一定要有com.abc.)
2.選定的provisioning profile是不是自己可以用的
3.準備安裝的目標裝置是否有在provisioning profile允許的裝置中

所以上架會需要:Mac+Distribution Certificate+符合Bundle identifier的Distribution provisioning profile

沒有留言: