問題描述:
現有2個ipa文件,1個通過源碼編譯打包生成,1個通過重簽工具生成。兩個ipa文件的bundleId一樣,mobileprovision也一樣。現象是:分別可以獨立安裝運行,但是不能互相覆蓋安裝,通過抓取報錯日誌:

可以看出,已安裝應用的application-identifier是72MV7Y930D.*,但是待安裝的應用是72MV7Y930D.com.xxx.weiboo,對不上,所以系統拒絕升級安裝。
原因猜想:
可能是蘋果系統對於兩種不同簽名方式底層實現不一樣,雖然我們的企業簽名是可以簽任意包名的app(也就是72MV7Y930D.*),但是對於正常通過Xcode打包簽名的ipa,裡面寫入的application-identifier是72MV7Y930D.com.xxx.weiboo,所以簽名的標識符是不一樣的。至於為什麼會這樣肯定是安全考慮,假設你已經安裝了某一遊戲app,再通過重新簽名的方式把你自己寫的app覆蓋安裝這個遊戲app,這個時候就可以做很多事情了。。。你懂的。
怎麼辦?
在得不到源碼只有ipa的情況下,只能都通過重簽工具將ipa文件重新簽名,這樣才能相互覆蓋安裝。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/208984.html