iOS 的內(nèi)測應(yīng)用在安裝時(shí),很多人都遇到過安裝失敗的情況,安裝失敗的原因比較多,下面我們將一些常見原因總結(jié)如下,方便開發(fā)者進(jìn)行排查。
啟動(dòng)應(yīng)用時(shí),出現(xiàn)提示“未受信任的企業(yè)級(jí)開發(fā)者”
請回到 iOS 系統(tǒng)桌面,然后依次打開 設(shè)置 - 通用 - 描述文件與設(shè)備管理,然后,點(diǎn)擊對(duì)應(yīng)描述文件進(jìn)入后,再點(diǎn)擊按鈕 信任即可。具體解決辦法請見: 運(yùn)行企業(yè)版應(yīng)用
應(yīng)用安裝快結(jié)束后,圖標(biāo)變?yōu)榘瞪珗D標(biāo),或彈出”無法安裝XXX“的提示
如果您是該應(yīng)用的開發(fā)者,請檢查應(yīng)用的簽名是否正確,這個(gè)問題出現(xiàn)的原因一般是由于應(yīng)用的簽名不正確導(dǎo)致的。一般來說,對(duì)于 Adhoc 簽名方式重點(diǎn)檢查當(dāng)前設(shè)備 UDID 是否已經(jīng)注冊;對(duì)于 In-house 簽名(即企業(yè)簽名) 方式來說,需要重點(diǎn)檢查證書是否被撤銷。如果您不是這個(gè)應(yīng)用的開發(fā)者,請聯(lián)系開發(fā)者解決。
在網(wǎng)頁中點(diǎn)擊“安裝”按鈕后,沒有彈出“是否安裝”的提示,或者提示安裝失敗
這個(gè)問題出現(xiàn)的原因,一般是由于用戶已經(jīng)從蘋果官方 App Store 上安裝了相同的應(yīng)用。解決辦法是:先在您的設(shè)備中刪除之前已經(jīng)安裝的應(yīng)用,然后再從蒲公英安裝即可。
安裝應(yīng)用時(shí),出現(xiàn)提示“無法連接到 www.pgyer.com”
這個(gè)問題一般是由于用戶的網(wǎng)絡(luò),或者手機(jī)緩存錯(cuò)誤造成的,可以嘗試如下兩個(gè)方法來解決:
- 重啟手機(jī),然后嘗試重新安裝。
- 換一個(gè)網(wǎng)絡(luò)環(huán)境,例如換一個(gè) Wi-Fi 熱點(diǎn),或由 Wi-Fi 換成 3G/4G 等,然后重新安裝。
其他一些可能導(dǎo)致應(yīng)用無法安裝的原因:
原因一:開發(fā)者在打包App時(shí),導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時(shí),選擇了 App-Store 方式。
在導(dǎo)出 iOS 的 .ipa 文件時(shí),有些開發(fā)者選擇了 App-Store 方式,這種方式導(dǎo)出的 .ipa 文件,只適合于上傳到蘋果 App Store,并不能通過蒲公英來安裝。如果是這種方式導(dǎo)出的 .ipa文件,傳到蒲公英上時(shí),蒲公英會(huì)顯示“App-Store版”,這種版本是不能通過蒲公英安裝的。
原因二:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時(shí),選擇了 Ad-hoc 方式,但是沒有添加設(shè)備 UDID。
在導(dǎo)出 iOS 的安裝包文件時(shí),如果選擇了 Ad-hoc 方式(一般用于蘋果個(gè)人開發(fā)者賬戶),那么,如果要某臺(tái)設(shè)備可以安裝,則必須要將這臺(tái)設(shè)備的 UDID 添加到導(dǎo)出安裝包時(shí)所用的證書文件中(. mobileprovision文件),才可以在這臺(tái)設(shè)備上安裝。
使用 Ad-hoc 方式導(dǎo)出的安裝包文件上傳到蒲公英后,蒲公英會(huì)顯示為“內(nèi)測版”,同時(shí)會(huì)在應(yīng)用管理中,顯示出該安裝包的證書中包含的 UDID 列表。開發(fā)者可以根據(jù)顯示出的 UDID 列表,來排查某臺(tái)設(shè)備的 UDID 有沒有被添加到安裝包的證書中。
原因三:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時(shí),選擇了 In-house 方式,但是證書已過期或被撤銷。
在導(dǎo)出 iOS 的安裝包文件時(shí),如果選擇了 In-house 方式(一般用于蘋果企業(yè)開發(fā)者賬戶),此時(shí),如果出現(xiàn)無法安裝的情況,開發(fā)者可以檢查一下自己的企業(yè)開發(fā)者證書是否已過期或是否被撤銷。因?yàn)樘O果對(duì)于企業(yè)開發(fā)者證書管理較為嚴(yán)格,所以開發(fā)者如果使用不當(dāng),可能會(huì)導(dǎo)致企業(yè)證書被蘋果官方撤銷,被撤銷后的企業(yè)證書導(dǎo)出的安裝包,也是無法正確安裝的。
原因四:開發(fā)者在生成App安裝包時(shí),沒有在 Xcode 中設(shè)置正確的 Architecture。
iOS 應(yīng)用的 Architecture(架構(gòu)),決定了這款 iOS 應(yīng)用可以在哪些設(shè)備機(jī)型上安裝。例如,如果某個(gè)應(yīng)用在 Xcode 中只添加了 arm64 這一種 Architecture,那么最終打包后的安裝包文件上傳到蒲公英后,對(duì)于 iPad mini、iPhone5 等以下設(shè)備,都是無法安裝的(因?yàn)檫@些設(shè)備都不是 arm64 架構(gòu))。換句話說,如果需要在某個(gè)設(shè)備上可以安裝,App 就必須支持那個(gè)設(shè)備的 Architecture。
所以,正確的解決方法是,在生成 App 安裝包時(shí),盡可能讓 App 支持更多的 Architecture。
具體操作方法是:在 Xcode - Build Settings - Architecture 中,增加 armv7、armv7s、arm64,以便所有設(shè)備都可以安裝。然后,將 "Build active architecture only" 設(shè)置為 NO。對(duì)于各個(gè) iOS 設(shè)備支持的 Architecture 類型。請點(diǎn)擊這里查看。
原因五:App 支持的 iOS 系統(tǒng)版本,和當(dāng)前設(shè)備系統(tǒng)版本不符。
App 支持的 iOS 系統(tǒng)版本過低或者過高,都可能導(dǎo)致 App 無法安裝成功。例如,如果某個(gè) App 設(shè)置了只支持 iOS 11.0 以上的系統(tǒng)時(shí),那么,如果在低于這個(gè)版本的系統(tǒng)上安裝時(shí),是無法安裝成功的。
因此,解決的方法也很簡單,我們應(yīng)該盡量讓 App 盡可能支持更寬泛的系統(tǒng)版本。
具體操作方式是:在 Xcode - General - Deployment Info - Deployment Target 中,給 App 設(shè)置一個(gè)盡量低的版本,例如 iOS 6.0。
原因六:設(shè)備上已經(jīng)安裝了這個(gè)App,且已經(jīng)安裝的 App 和要安裝的 App 是用不同證書打包的。
這種情況下,也會(huì)造成 App 安裝失敗。解決的方式很簡單,用戶只需將設(shè)備上原來已經(jīng)安裝的 App 刪除,再重新安裝新的 App 即可。
原因七:Info.plist 文件中的LSRequiresIPhoneOS 沒有設(shè)置,或者設(shè)置了 NO。
對(duì)于 iOS 的 App 來說,如果Info.plist 文件中的LSRequiresIPhoneOS 沒有設(shè)置,或者設(shè)置了 NO,那么由 Xcode 導(dǎo)出的安裝包(.ipa 包),就不會(huì)包含 Payload 文件夾,而是被一個(gè)叫做 Applications 的文件夾代替。這樣的安裝包在安裝時(shí),會(huì)被 iOS 判定為無效的安裝包,所以無法被正確安裝。
解決方式也很簡單,只需要將Info.plist 文件中的LSRequiresIPhoneOS 設(shè)置為 YES,然后重新打包即可。具體操作為:在 Xcode 中打開 Info.plist 文件,然后檢查 LSRequiresIPhoneOS 是否已設(shè)置,如果沒有設(shè)置,就添加一個(gè),然后將 LSRequiresIPhoneOS 的類型設(shè)置為 Boolean,值設(shè)置為 YES。
設(shè)置好以后,可以看到 Info.plist 文件中顯示 Application requires iPhone environment 的值為 YES。
另外,還可以使用蒲公英的 Mac OS 客戶端 來打包上傳 App,蒲公英的 Mac OS 客戶端在打包安裝包時(shí),自動(dòng)處理了這個(gè)問題。
原因八:網(wǎng)絡(luò)出現(xiàn)中斷或異常。
遇到這種情況,用戶可檢查自己手機(jī)的所連接的網(wǎng)絡(luò)是否穩(wěn)定、速度是否正常等。能否打開其他網(wǎng)站,或者更換一個(gè) Wi-Fi,或者由 Wi-Fi 換成 3G/4G 等,然后重新安裝。
用這樣的方式嘗試后,一般都可以解決問題。
嘗試過以上方案,還是無法解決?
如果根據(jù)以上的方式進(jìn)行排查后,依然無法解決問題,那么可以使用蒲公英的 Mac OS 客戶端來查看安裝日志。
蒲公英的 Mac OS 客戶端中,提供了實(shí)時(shí)查看 App 安裝日志的功能,開發(fā)者可以方便的根據(jù) App 的安裝日志,來準(zhǔn)確的判斷具體安裝失敗的原因,具體方法請見:查看iOS的安裝日志