開發/真機調試流程:
申請證書
加入設備
生成Provisioning Profile
設置Xcode Code Sign Identifer
發佈流程:
創建發佈證書
創建App ID
創建對應的Provisioning Profile文件
設備Bundle ID和App ID一致
設置Xcode Code Sign Identifer,選擇合適的Profile和證書進行簽名,打包
App development:
Certificates:證書,常用的證書類型有4種:真機調試證書、推送調試證書,發佈證書、推送生產證書。
Identifiers:AppID,跟項目工程的 BundleId 匹配,需要支持推送、Game Center 等功能的 AppID 不能包含通配符*。
Devices:iOS設備在真機調試、AdHoc發佈時都需要包含設備的 UDID 纔可以安裝。
Provisioning Profile:配置文件(描述文件),不同類型的開發者賬號都包含 Development、AdHoc 這兩種 Profile,不同的是個人、公司開發者賬號有發佈到 AppStore 的 Profile,而企業開發者賬號則是 InHouse 企業內發佈的 Profile。
Certificate(證書):
Certificate:是你有權利開發的憑證,是開發者的一種標識,相當於***,一個開發者賬號只有一套。一套含兩個,Development和Distribution(也就是Production)。
Development證書:提供開發者在電腦上真機調試的權限,可以製作多個副本分發到多臺電腦。
Distribution證書:給開發者提供發佈ios程序的權限,也就是說有了這個,你就有權力發佈程序到App Store去了。只有一個,不能製作副本分發到多臺電腦。
Development
App Development (1年):用來開發和真機調試應用程序。
Push Development (1年):用來調試Apple Push Notification
Production
In-House and Ad Hoc (3年):用來發布In-House和AdHoc的應用程序。
App Store :用來發布提交App Store的應用程序。
MDM CSR Push Production (1年):用來在發佈版本中使用Apple Push Notification。 Pass Type ID Certificate
Website Push ID Certificate
(CSR) 文件:
CSR:申請一個Certificate之前,需要先申請一個 (CSR) 文件,而這個過程中實際上是生成了一對公鑰和私鑰,保存在你Mac的Keychain中。代碼簽名正是使用這種基於非對稱祕鑰的加密方式,用私鑰進行簽名,用公鑰進行驗證。
App ID:
App ID:App ID用於標識一個或者一組App,App ID應該是和Xcode中的Bundle ID是一致的或者匹配的。
Explicit App ID:唯一的App ID,這種App ID用於唯一標識一個應用程序,例如com.ABC.demo1,標識Bundle ID爲com.ABC.demo1的程序。
Wildcard App ID:通配符App ID,用於標識一組應用程序。例如*可以表示所有應用程序,而com.ABC.*可以表示以com.ABC開頭的所有應用程序。
Provisioning Profile:
Provisioning Profile:一個Provisioning Profile文件包含了上述的所有內容:證書、App ID、設備。