文章來(lái)源:http://blog.csdn.net/sp_wei/article/details/70174602
1.在iosAPP下載安裝時(shí),如果出現(xiàn)此時(shí)無(wú)法下載安裝APP的字樣時(shí),可能是蘋(píng)果系統(tǒng)進(jìn)行了支持更新,并需要我們確認(rèn)條約。至于如何判斷是否是蘋(píng)果系統(tǒng)進(jìn)行了更改,只需要我們進(jìn)入開(kāi)發(fā)者賬號(hào),進(jìn)入我的賬戶(Account)如出現(xiàn)以下視圖:
則說(shuō)明蘋(píng)果系統(tǒng)進(jìn)行了更新。
此時(shí)只需要點(diǎn)擊Review Agreement 按鈕,進(jìn)入查看其具體條款,勾選服從其條約,然后單擊同意即可。
然后可以再重新將APP打包上傳到公司網(wǎng)站,然后即可進(jìn)行下載安裝操作。
2.如果不是手機(jī)版本最新版本,可以嘗試更新到最新版本試一下。
其他一些可能導(dǎo)致應(yīng)用無(wú)法安裝的原因:
原因一:在導(dǎo)出iOSApp 的安裝包文件(.ipa文件)時(shí),選擇了 App-Store 方式。
在導(dǎo)出ios的 .ipa 文件時(shí),有些開(kāi)發(fā)者選擇了 App-Store 方式,這種方式導(dǎo)出的 .ipa 文件,只適合于上傳到蘋(píng)果 App Store,并不能通過(guò)蒲公英來(lái)安裝。如果是這種方式導(dǎo)出的 .ipa文件,傳到蒲公英上時(shí),蒲公英會(huì)顯示“App-Store版”,這種版本是不能通過(guò)蒲公英安裝的。
原因二:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時(shí),選擇了 Ad-hoc 方式,但是沒(méi)有添加設(shè)備 UDID。
在導(dǎo)出 iOS 的安裝包文件時(shí),如果選擇了 Ad-hoc 方式(一般用于蘋(píng)果個(gè)人開(kāi)發(fā)者賬戶),那么,如果要某臺(tái)設(shè)備可以安裝,則必須要將這臺(tái)設(shè)備的 UDID 添加到導(dǎo)出安裝包時(shí)所用的證書(shū)文件中(. mobileprovision文件),才可以在這臺(tái)設(shè)備上安裝。
使用 Ad-hoc 方式導(dǎo)出的安裝包文件上傳到蒲公英后,蒲公英會(huì)顯示為“內(nèi)測(cè)版”,同時(shí)會(huì)在應(yīng)用管理中,顯示出該安裝包的證書(shū)中包含的 UDID 列表。開(kāi)發(fā)者可以根據(jù)顯示出的 UDID 列表,來(lái)排查某臺(tái)設(shè)備的 UDID 有沒(méi)有被添加到安裝包的證書(shū)中。
原因三:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時(shí),選擇了 In-house 方式,但是證書(shū)已過(guò)期。
在導(dǎo)出 iOS 的安裝包文件時(shí),如果選擇了 In-house 方式(一般用于蘋(píng)果企業(yè)開(kāi)發(fā)者賬戶),此時(shí),如果出現(xiàn)無(wú)法安裝的情況,開(kāi)發(fā)者可以檢查一下自己的企業(yè)開(kāi)發(fā)者證書(shū)是否已過(guò)期。因?yàn)樘O(píng)果對(duì)于企業(yè)開(kāi)發(fā)者證書(shū)管理較為嚴(yán)格,所以開(kāi)發(fā)者如果使用不當(dāng),可能會(huì)導(dǎo)致企業(yè)證書(shū)被封,被封后的企業(yè)證書(shū)導(dǎo)出的安裝包,也是無(wú)法正確安裝的。
原因四:開(kāi)發(fā)者在生成App安裝包時(shí),沒(méi)有在 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è)備,都是無(wú)法安裝的(因?yàn)檫@些設(shè)備都不是 arm64 架構(gòu))。換句話說(shuō),如果需要在某個(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 類(lèi)型。請(qǐng)點(diǎn)擊這里查看。
原因五:App 支持的 iOS 系統(tǒng)版本,和當(dāng)前設(shè)備系統(tǒng)版本不符。
App 支持的 iOS 系統(tǒng)版本過(guò)低或者過(guò)高,都可能導(dǎo)致 App 無(wú)法安裝成功。例如,如果某個(gè) App 設(shè)置了只支持 iOS 7.0 以上的系統(tǒng)時(shí),那么,如果在 iOS 6.1 系統(tǒng)上安裝時(shí),肯定是無(wú)法安裝成功。
因此,解決的方法也很簡(jiǎn)單,我們應(yīng)該盡量讓 App 盡可能支持更寬泛的系統(tǒng)版本。
具體操作方式是:在 Xcode - General - Deployment Info - Deployment Target 中,給 App 設(shè)置一個(gè)盡量低的版本,例如 iOS 5.0。
原因六:開(kāi)發(fā)者上傳的是一個(gè)破解的 ipa 安裝包,或者是一個(gè)使用破解 Xcode 方式打包生成的 ipa 安裝包,或者是通過(guò) iTunes 生成的 ipa 安裝包。
通過(guò)任何非 Xcode(或 Xcode 的命令行工具)生成的安裝包,都是沒(méi)有辦法正確在設(shè)備上安裝的(越獄設(shè)備除外)。常見(jiàn)的不正確的打包 ipa 的方式有:通過(guò) iTunes 導(dǎo)出安裝包文件、通過(guò) iTools 導(dǎo)出安裝包文件等等。這種類(lèi)型的 App 上傳到蒲公英后,會(huì)顯示 未簽名 的標(biāo)簽提示。
正確的方法是,使用一個(gè)正常的蘋(píng)果開(kāi)發(fā)者證書(shū),通過(guò)未破解的 Xcode 打包生成 ipa 安裝包。
原因七:設(shè)備上已經(jīng)安裝了這個(gè)App,且已經(jīng)安裝的 App 和要安裝的 App 是用不同證書(shū)打包的。
這種情況下,也會(huì)造成 App 安裝失敗。解決的方式很簡(jiǎn)單,開(kāi)發(fā)者只需將設(shè)備上原來(lái)已經(jīng)安裝的 App 刪除,再重新安裝新的 App 即可。
原因八:Info.plist 文件中的LSRequiresIPhoneOS 沒(méi)有設(shè)置,或者設(shè)置了 NO。
對(duì)于 iOS 的 App 來(lái)說(shuō),如果Info.plist 文件中的LSRequiresIPhoneOS 沒(méi)有設(shè)置,或者設(shè)置了 NO,那么由 Xcode 導(dǎo)出的安裝包(.ipa 包),就不會(huì)包含 Payload 文件夾,而是被一個(gè)叫做 Applications 的文件夾代替。這樣的安裝包在安裝時(shí),會(huì)被 iOS 判定為無(wú)效的安裝包,所以無(wú)法被正確安裝。
解決方式也很簡(jiǎn)單,只需要將Info.plist 文件中的LSRequiresIPhoneOS 設(shè)置為 YES,然后重新打包即可。具體操作為:在 Xcode 中打開(kāi) Info.plist 文件,然后檢查 LSRequiresIPhoneOS 是否已設(shè)置,如果沒(méi)有設(shè)置,就添加一個(gè),然后將 LSRequiresIPhoneOS 的類(lèi)型設(shè)置為 Boolean,值設(shè)置為 YES。
設(shè)置好以后,可以看到 Info.plist 文件中顯示 Application requires iPhone environment 的值為 YES。
另外,還可以使用蒲公英的 Mac OS 客戶端 來(lái)打包上傳 App,蒲公英的 Mac OS 客戶端在打包安裝包時(shí),自動(dòng)處理了這個(gè)問(wèn)題。
原因九:網(wǎng)絡(luò)出現(xiàn)中斷或異常。
遇到這種情況,用戶可檢查自己手機(jī)的所連接的網(wǎng)絡(luò)是否穩(wěn)定、速度是否正常等。可以嘗試一下其他網(wǎng)站,或者更換一個(gè) Wi-Fi,或者由 Wi-Fi 換成 3G/4G 等,然后重新安裝。
用這樣的方式嘗試后,一般都可以解決問(wèn)題。