在沒有創建Provision Profile權限的情況下 發布Enterprise inhouse app 的方法


   由於用普通開發者證書,發布的app或ipa沒法在普通機器上安裝運行,原因是apple限制了普通開發者發布appstore以外的環境中,只有Enterprise企業版證書才能發布inhouse。 今天在發布一款公司內部使用的app時,由於mac中同時安裝了 普通開發者證書 和 企業證書,xcode可能默認使用了普通開發者賬號,因此發布的ipa始終無法在普通機型中安裝成功。幾經周折,終於發現了這個問題,於是想辦法找到了設置成使用企業版證書,但是這時候連編譯都無法通過,錯誤提示如下:

No matching provisioning profiles found

his product type must be built using a provisioning profile, however no provisioning profile matching both the identity “iPhone Distribution: PIXXX CORPORATION” and the bundle identifier “xx.xxx.enterprise.xxx.appname” was found.  Xcode can resolve this issue by downloading a new provisioning profile from the Member Center.

意思是說:我使用的企業證書 與 當前發布的程序bundle identifier 不匹配。

 原因就很明顯了,由於安裝證書時安裝了一個provisioning profile 文件,這個Provision Profile中記錄了一些信息:開發者證書、開發者Apple ID、一系列設備ID(開發者可以使用哪幾部設備進行調試),以及造成以上問題的 Application Identifier 。 這就是為什么會提示這個錯誤了。

插一句,我如何根據我的provisioning file 得知對應的 app identifier呢?

只需雙擊該文件,重新安裝,待自動打開keychains之后,即可查看到該provision profile的 app id 了。

所以,當你只有企業證書,但卻沒有創建Provision Profile權限,可以委屈求全,將項目屬性中的bundle identity 改成該profile的app id就可以了。才能在普通iphone運行, 但是企業證書有個問題,必須把名字改成該證書對應的provision Profile綁定的app id。 

缺點也很明顯,開發機如果同時安裝我們的這個app 和 公司的另一個原始app, 則有一個會被覆蓋,因為他們的簽名是一樣的。
 
你已經知道,我這里所說的沒有創建Provision Profile權限的意思是指,當前擁有一個ios開發的企業證書, 擁有inhouse app發布權限,但卻沒有該企業證書對應的apple id, 無法登陸蘋果開發者中心添加applicaiton id.

 

參考:

1. 如何解決修改項目名 或 bundle identity 而產生的test子集的 link error ? http://stackoverflow.com/questions/16513934/how-do-i-add-modify-the-bundle-loader-setting-in-xcode-4-6-2

2. 企業證書的申請流程, 使用,發布方法: http://blog.csdn.net/kmyhy/article/details/6418280

3. apple developer center 設置生成開發者證書,發布證書,appid, provision profile 的生成過程: http://blog.csdn.net/holydancer/article/details/9219333

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM