前言
iOS 的內(nèi)測應(yīng)用在安裝時躬拢,很多人都遇到過安裝失敗的情況窿侈,安裝失敗的原因比較多做个,下面我們將一些常見原因總結(jié)如下鸽心,方便開發(fā)者進行排查滚局。
在 iOS 9 中啟動應(yīng)用時,出現(xiàn)提示“未受信任的企業(yè)級開發(fā)者”
這樣問題是因為在 iOS 9 以后的版本中顽频,蘋果對企業(yè)簽名的應(yīng)用做了更嚴(yán)格了限制藤肢。具體解決辦法請見: 在 iOS 9 中運行企業(yè)版應(yīng)用
在 iOS 9 中點擊“安裝”按鈕后,沒有彈出“是否安裝”的提示冲九?
這個問題是因為 iOS 9 的一個 Bug 導(dǎo)致的谤草。出現(xiàn)這個問題的前提,一般是由于用戶已經(jīng)從蘋果官方 App Store 上安裝了相同的應(yīng)用莺奸。解決辦法是:先在設(shè)備中刪除之前已經(jīng)安裝的應(yīng)用丑孩,然后再從蒲公英安裝即可。
為什么在 iOS 9 中灭贷,點擊“安裝”按鈕后温学,沒有任何反應(yīng),桌面也沒有出現(xiàn)應(yīng)用圖標(biāo)甚疟,但是狀態(tài)欄上的網(wǎng)絡(luò)圖標(biāo)在轉(zhuǎn)仗岖?
這是由于 iOS 9 中的一個 Bug 造成的。雖然看上去沒有反應(yīng)览妖,其實應(yīng)用已經(jīng)在后臺開始下載并安裝了轧拄,狀態(tài)欄上的網(wǎng)絡(luò)圖標(biāo)在轉(zhuǎn)就是一個證明。這個時候讽膏,只要多等待一會兒就好了檩电,應(yīng)用安裝完成之后會在桌面上顯示出來的。
在 iOS 8 或 iOS 9 中安裝一個之前安裝過的應(yīng)用時府树,安裝失敗俐末。
這個是由于 iOS 8 及后續(xù)版本的一個 bug 造成的,開發(fā)者可以嘗試在應(yīng)用設(shè)置中奄侠,將“iOS 8 安裝修復(fù)”的功能打開卓箫,然后重新安裝應(yīng)用。具體請見:iOS 8 安裝修復(fù)
安裝 iOS 應(yīng)用時垄潮,出現(xiàn)提示“無法連接到 ssl.pgyer.com”
這個問題一般是由于用戶的網(wǎng)絡(luò)烹卒,或者手機緩存錯誤造成的,可以嘗試如下兩個方法來解決:
重啟手機弯洗,然后嘗試重新安裝旅急。
換一個網(wǎng)絡(luò)環(huán)境,例如換一個 Wi-Fi 熱點涂召,或由 Wi-Fi 換成 3G/4G 等坠非,然后重新安裝。
其他一些可能導(dǎo)致應(yīng)用無法安裝的原因:
原因一:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時果正,選擇了 App-Store 方式炎码。
在導(dǎo)出 iOS 的 .ipa 文件時盟迟,有些開發(fā)者選擇了 App-Store 方式,這種方式導(dǎo)出的 .ipa 文件潦闲,只適合于上傳到蘋果 App Store攒菠,并不能通過蒲公英來安裝。如果是這種方式導(dǎo)出的 .ipa文件歉闰,傳到蒲公英上時辖众,蒲公英會顯示“App-Store版”,這種版本是不能通過蒲公英安裝的和敬。
原因二:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時凹炸,選擇了 Ad-hoc 方式,但是沒有添加設(shè)備 UDID昼弟。
在導(dǎo)出 iOS 的安裝包文件時啤它,如果選擇了 Ad-hoc 方式(一般用于蘋果個人開發(fā)者賬戶),那么舱痘,如果要某臺設(shè)備可以安裝变骡,則必須要將這臺設(shè)備的 UDID 添加到導(dǎo)出安裝包時所用的證書文件中(. mobileprovision文件),才可以在這臺設(shè)備上安裝芭逝。
使用 Ad-hoc 方式導(dǎo)出的安裝包文件上傳到蒲公英后塌碌,蒲公英會顯示為“內(nèi)測版”,同時會在應(yīng)用管理中旬盯,顯示出該安裝包的證書中包含的 UDID 列表台妆。開發(fā)者可以根據(jù)顯示出的 UDID 列表,來排查某臺設(shè)備的 UDID 有沒有被添加到安裝包的證書中瓢捉。
原因三:在導(dǎo)出 iOS App 的安裝包文件(.ipa文件)時频丘,選擇了 In-house 方式办成,但是證書已過期泡态。
在導(dǎo)出 iOS 的安裝包文件時,如果選擇了 In-house 方式(一般用于蘋果企業(yè)開發(fā)者賬戶)迂卢,此時某弦,如果出現(xiàn)無法安裝的情況,開發(fā)者可以檢查一下自己的企業(yè)開發(fā)者證書是否已過期而克。因為蘋果對于企業(yè)開發(fā)者證書管理較為嚴(yán)格靶壮,所以開發(fā)者如果使用不當(dāng),可能會導(dǎo)致企業(yè)證書被封员萍,被封后的企業(yè)證書導(dǎo)出的安裝包腾降,也是無法正確安裝的。
原因四:開發(fā)者在生成App安裝包時碎绎,沒有在 Xcode 中設(shè)置正確的 Architecture螃壤。
iOS 應(yīng)用的 Architecture(架構(gòu))抗果,決定了這款 iOS 應(yīng)用可以在哪些設(shè)備機型上安裝。例如奸晴,如果某個應(yīng)用在 Xcode 中只添加了 arm64 這一種 Architecture冤馏,那么最終打包后的安裝包文件上傳到蒲公英后,對于 iPad mini寄啼、iPhone5 等以下設(shè)備逮光,都是無法安裝的(因為這些設(shè)備都不是 arm64 架構(gòu))。換句話說墩划,如果需要在某個設(shè)備上可以安裝涕刚,App 就必須支持那個設(shè)備的 Architecture。
所以乙帮,正確的解決方法是副女,在生成 App 安裝包時,盡可能讓 App 支持更多的 Architecture蚣旱。
具體操作方法是:在 Xcode - Build Settings - Architecture 中碑幅,增加 armv7、armv7s塞绿、arm64沟涨,以便所有設(shè)備都可以安裝。然后异吻,將 "Build active architecture only" 設(shè)置為 NO裹赴。對于各個 iOS 設(shè)備支持的 Architecture 類型。請點擊這里查看诀浪。
原因五:App 支持的 iOS 系統(tǒng)版本棋返,和當(dāng)前設(shè)備系統(tǒng)版本不符。
App 支持的 iOS 系統(tǒng)版本過低或者過高雷猪,都可能導(dǎo)致 App 無法安裝成功睛竣。例如,如果某個 App 設(shè)置了只支持 iOS 7.0 以上的系統(tǒng)時求摇,那么射沟,如果在 iOS 6.1 系統(tǒng)上安裝時,肯定是無法安裝成功与境。
因此验夯,解決的方法也很簡單,我們應(yīng)該盡量讓 App 盡可能支持更寬泛的系統(tǒng)版本摔刁。
具體操作方式是:在 Xcode - General - Deployment Info - Deployment Target 中挥转,給 App 設(shè)置一個盡量低的版本,例如 iOS 5.0。
原因六:設(shè)備上已經(jīng)安裝了這個App绑谣,且已經(jīng)安裝的 App 和要安裝的 App 是用不同證書打包的准潭。
這種情況下,也會造成 App 安裝失敗域仇。解決的方式很簡單刑然,開發(fā)者只需將設(shè)備上原來已經(jīng)安裝的 App 刪除,再重新安裝新的 App 即可暇务。
原因七:Info.plist 文件中的LSRequiresIPhoneOS 沒有設(shè)置泼掠,或者設(shè)置了 NO。
對于 iOS 的 App 來說垦细,如果Info.plist 文件中的LSRequiresIPhoneOS 沒有設(shè)置择镇,或者設(shè)置了 NO,那么由 Xcode 導(dǎo)出的安裝包(.ipa 包)括改,就不會包含 Payload 文件夾腻豌,而是被一個叫做 Applications 的文件夾代替。這樣的安裝包在安裝時嘱能,會被 iOS 判定為無效的安裝包吝梅,所以無法被正確安裝。
解決方式也很簡單惹骂,只需要將Info.plist 文件中的LSRequiresIPhoneOS 設(shè)置為 YES苏携,然后重新打包即可。具體操作為:在 Xcode 中打開 Info.plist 文件对粪,然后檢查 LSRequiresIPhoneOS 是否已設(shè)置右冻,如果沒有設(shè)置,就添加一個著拭,然后將 LSRequiresIPhoneOS 的類型設(shè)置為 Boolean纱扭,值設(shè)置為 YES。
設(shè)置好以后儡遮,可以看到 Info.plist 文件中顯示 Application requires iPhone environment 的值為 YES乳蛾。
另外,還可以使用蒲公英的 Mac OS 客戶端 來打包上傳 App峦萎,蒲公英的 Mac OS 客戶端在打包安裝包時屡久,自動處理了這個問題忆首。
原因八:網(wǎng)絡(luò)出現(xiàn)中斷或異常爱榔。
遇到這種情況,用戶可檢查自己手機的所連接的網(wǎng)絡(luò)是否穩(wěn)定糙及、速度是否正常等详幽。可以嘗試一下其他網(wǎng)站,或者更換一個 Wi-Fi唇聘,或者由 Wi-Fi 換成 3G/4G 等版姑,然后重新安裝。
用這樣的方式嘗試后迟郎,一般都可以解決問題剥险。
嘗試過以上方案,還是無法解決宪肖?
如果根據(jù)以上的方式進行排查后表制,依然無法解決問題,那么可以使用蒲公英的 Mac OS 客戶端來查看安裝日志控乾。
蒲公英的 Mac OS 客戶端中么介,提供了實時查看 App 安裝日志的功能,開發(fā)者可以方便的根據(jù) App 的安裝日志蜕衡,來準(zhǔn)確的判斷具體安裝失敗的原因壤短,具體方法請見:查看iOS的安裝日志