Situation

使用企業內部 Ad Hoc 方式打包 ipa 後,iPhone 13 – iOS 15.5 安裝 ipa 時發生以下錯誤訊息

無法安裝App,因為無法驗證其完整性

已經確認在 Apple Develop 的 Devices 已加入裝置的UDID,但還是無法安裝 App

Action

首先可以透過 ipa_analyzer 檢查.ipa 檔允許安裝的裝置清單,如果裝置不在安裝清單中,基本上就可以確認問題了。

A.安裝 ipa_analyzer

開啟終端機輸入 gem install ipa_analyzer

B.使用 ipa_analyzer 檢查 .ipa

在終端機輸入 ipa_analyzer -i /path/xxx.ipa -p --info-plist --prov

輸出內容應該有個 “ProvisionedDevices” 區塊,檢查該區塊中是否有裝置UDID,沒有的話代表.ipa檔無法提供給裝置安裝。

C.解決方式尚待釐清(還不確定)

1.在 Xcode -> Preference -> Download Manual Profiles (可能要多按幾次)

2.在 ~/Library/MobileDevice/Provisioning Profiles/ 就會出現剛剛下載的Profile,可以預覽Profile其中的內容,應該會有最新加入的Devices

3.滑鼠右鍵雙擊剛剛下載的Profile,讓Xcode去套用它

4.使用 Xcode 重新 build 專案

5.這次產生的.ipa 應該就可以安裝到新裝置上了

Result

錯誤訊息不再出現,新打包的 .ipa 檔可以安裝在新裝置。