IOS APP開發提交流程證書問題

問題情景描述: ide

一款App在別人的機器上開發和發佈,如今迭代更新和開發須要在一臺新mac機上開發和發佈。(使用同一個開發者帳號) 工具

問題: 開發工具

1.在新mac機器上開發並導入真機測試,是否是須要從別人的機器上面導處開發者證書、開發者受權文件和開發密鑰導入到新mac機器上才能開發? 測試

2.程序迭代開發完成,App上傳蘋果應用商店的時候是否是還須要用老機器發佈才能夠才能保證App更新?能不能從老機器上面把發佈證書導入到新機器上,用新機器發佈App? spa

解決方案: 調試

App開發和發佈過程當中證書基礎知識: 開發

1.    Certification(證書)
證書是對電腦開發資格的認證,每一個開發者賬號有一套,分爲兩種:
1)    Developer Certification(開發證書)
安裝在電腦上提供權限:開發人員經過設備進行真機測試。
能夠生成副本供多臺電腦安裝;
2)      Distribution Certification(發佈證書)
安裝在電腦上提供發佈iOS程序的權限:開發人員能夠製作測試版和發佈版的程序。
不可生成副本,僅有配置該證書的電腦纔可以使用;(副本製作介紹在下面Keychain中介紹)

2.    Provisioning Profile(受權文件)
受權文件是對設備如iPod Touch、iPad、iPhone的受權,文件內記錄的是設備的UDID和程序的App Id,即便被受權的設備能夠安裝或調試Bundle identifier與受權文件中記錄的App Id對應的程序。
開發者賬號在建立受權文件時候會選擇App Id,(開發者賬號下App Id中添加,單選)和UDID(開發者賬號下Devices中添加最多100個,多選)。
受權文件分爲兩種,對應相應的證書使用:
1)    Developer Provisioning Profile(開發受權文件)
在裝有開發證書或副本的電腦上使用,開發人員選擇該受權文件經過電腦將程序安裝到受權文件記錄的設備中,便可進行真機測試。
注意:確保電腦有權限真機調試,即安裝了開發證書或副本;在開發工具中程序的Bundle identifier和選中使用的受權文件的App Id要一致;鏈接調試的設備的UDID在選中的受權文件中有記錄。
2)    Distribution Provisioning Profile(發佈受權文件)
在裝有發佈證書的電腦上(即配置證書的電腦,只有一臺)製作測試版和發佈版的程序。
發佈版就是發佈到App Store上的程序文件,開發者賬號建立受權文件時選擇store選項,選擇App Id,無需選擇UDID;
測試版就是在發佈以前交給測試人員可同步到設備上的程序文件,開發者賬號建立受權文件時選擇AdHoc,選擇App Id和UDID;只有選中的UDID對應的設備纔可能安裝上經過該受權文件製作的程序。
3.    Keychain(開發密鑰)
安 裝證書成功的狀況下證書下都會生成Keychain,上面提到的證書副本就是經過配置證書的電腦導出Keychain(就是.p12文件)安裝到其餘機子 上,讓其餘機子獲得證書對應的權限。Developer Certification就能夠製作副本Keychain分發到其餘電腦上安裝,使其能夠進行真機測試。
注意:Distribution Certification只有配置證書的電腦纔可以使用,所以即便導出導出Keychain安裝到其餘電腦上,其餘電腦也不可能具備證書的權限。 同步

上面的證書基礎知識能夠看到開發者證書能夠導入到新電腦上用於開發和真機測試,發佈證書不能夠導入新電腦用於App發佈。因此問題出現了那之後版本迭代更新怎麼辦? io

針對問題1:經過導入開發者證書、密鑰和開發受權文件(導入測試機)能夠實現用新的電腦在真機上開發和測試,其實這個方法解決的問題應該是如何在不想讓別人知道本身開發者帳號的前提下讓多臺mac機同時能夠開發在真機上測試的App;假設如今你知道開發者帳號密碼你徹底能夠經過你的開發者帳號在本身機器上從新生成開發者證書、開發密鑰,而後經過你信生成的開發者證書和開發受權文件進行真機開發測試。 基礎

針對問題2:不能經過導入發佈證書的方式在新電腦上更新迭代App;那怎樣才能在新mac機上面進行迭代的App發佈那,難道必須只能在老機器上面進行迭代發佈嗎?毫無疑問確定是能夠在新機器上進行迭代APP的發佈的,這中間涉及到蘋果App商店的升級機制:針對同一個開發帳號下面同一個App只要版本號比當前版本號大都會自動提示用戶有新版本。因此你能夠在你新mac電腦上面重新建立一個發佈證書,經過這個發佈證書進行發佈。


我尚未用這種方式操做過,這暫時只是一些本身的猜測,但願看到的童鞋能夠討論一下,以後我會用這中方式發佈提交程序,到時候會給正式結果。

相關文章
相關標籤/搜索