本文涉及的方法都是筆者結(jié)合網(wǎng)絡(luò)親自實(shí)踐的結(jié)果。
前言
開發(fā)完的ios企業(yè)版app挟炬。需要將.ipa文件和.plist文件打包上傳冲呢,供用戶下載,在線安裝燕鸽。這樣用戶的安裝過程就會非常簡單:
首先通過手機(jī)瀏覽器safari或者掃描二維碼獲取到下載.plist的地址兄世。然后瀏覽器會自動跳轉(zhuǎn)到這個地址,下載绵咱、讀取.plist碘饼。(用戶跳轉(zhuǎn)的地址是.plist的下載地址熙兔。)最后,iphone通過讀取.plist文件中配置的.ipa下載地址艾恼,來完成企業(yè)版app的安裝住涉。
但是安裝過程中遇到“無法下載應(yīng)用”導(dǎo)致失敗的情況也非常普遍:
那么遇到這種情況,到底該怎么辦呢钠绍?
一舆声、網(wǎng)絡(luò)問題
網(wǎng)絡(luò)問題比較好排查,如果只有某一個人或者幾個人出現(xiàn)這種失敗柳爽,其他人不存在這種情況媳握,基本就可以確定為網(wǎng)絡(luò)問題導(dǎo)致,可以通過多重試幾次磷脯,或者切其他的wifi或網(wǎng)絡(luò)模式來嘗試解決這個問題蛾找。
二、手機(jī)設(shè)置問題
甄別是不是手機(jī)設(shè)置問題赵誓,可以到appstore嘗試下載商店中的應(yīng)用打毛,如果這是也出現(xiàn)同樣的錯誤的話,基本就可以確定是手機(jī)設(shè)置的問題俩功。
修復(fù)這個問題呢幻枉,就需要考慮嘗試以下動作:
首先清除safari的歷史記錄:打開“設(shè)置”-"Safari"-點(diǎn)擊 “清除歷史記錄與網(wǎng)站數(shù)據(jù)"
其次注銷Apple ID賬戶:打開"設(shè)置"-"iTunes store與app store"點(diǎn)擊"Apple ID:"然后"注銷"帳戶。
最后還原網(wǎng)絡(luò)設(shè)置:打開設(shè)置-通用-還原-還原網(wǎng)絡(luò)設(shè)置诡蜓。設(shè)備自動重啟熬甫。
重啟后鏈接網(wǎng)絡(luò)如果還是不能下載的話,可以通過設(shè)置-當(dāng)前wifi后的感嘆號-dns蔓罚,修改dns為8.8.8.8即可椿肩。
三、云存儲的設(shè)置問題
云存儲的設(shè)置如果出現(xiàn)問題脚粟,最明顯的就是ios7.1后所有的系統(tǒng)安裝都會失敗覆旱,而且失敗提醒不是簡單的下載不成功蘸朋,而是“無法安裝應(yīng)用程序因?yàn)閔ttp://xxx.xxx.xxx證書無效”
導(dǎo)致這個問題的原因其實(shí)是ios7.1后要求應(yīng)用的下載地址必須是https導(dǎo)致核无。
修復(fù)這個問題的辦法就是將應(yīng)用plist的URL修改http修改成https同時plist中ipa的地址也改成https
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
最后服務(wù)器也增加對https的支持即可,詳細(xì)的描述見下面鏈接中的文章藕坯。
http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22325916#22325916
四团南、打包證書的問題
如果您的應(yīng)用大部分安裝都失敗的話,基本就可以確定是打包證書的問題炼彪。
對于這種情況吐根,我們可能需要從以下角度排查:
首先,您使用的企業(yè)賬號是否有效(一般考慮是否過期辐马,如果過期拷橘,則聯(lián)系相關(guān)人員續(xù)費(fèi)即可)
其次,您的企業(yè)賬號下打包用的證書是不是被別人revoke了。如果是只需要重新設(shè)置證書冗疮,再打包發(fā)布就可以了萄唇,具體的打包發(fā)布流程可以參考這篇文章:http://blog.csdn.net/kmyhy/article/details/6418280
最后,考慮是不是導(dǎo)出ipa的時候選擇的到處選項(xiàng)不對术幔。切記另萤,一定是選擇Save for Enterprise Deployment這種才有效。
五诅挑、打包時電腦連接外設(shè)問題
這個問題不好歸納問題現(xiàn)象四敞,我遇到的現(xiàn)象就是有的手機(jī)安裝成功,有的安裝失敗拔妥。然后試了各種系統(tǒng)忿危,發(fā)現(xiàn)ios7,到ios9.3没龙,均是有的成功有的失敗癌蚁。真的是很崩潰的問題。
最后也是試了上面所有的修復(fù)辦法兜畸,都沒有修復(fù)努释,才懷疑可能是打包時電腦連接了外設(shè)導(dǎo)致。據(jù)說連接外設(shè)的電腦咬摇,在打包時伐蒂,包會打成自動匹配該外設(shè)的硬件信息,也就是說肛鹏,如果您的外設(shè)正好是64位的系統(tǒng)的話逸邦,那么不好意思,這個新包不匹配32位設(shè)備在扰。
不過這個問題要修復(fù)倒是比較簡單缕减。
就是用之前打包的代碼版本,重新打包芒珠。只是特別提醒桥狡,請拔出所有的鏈接電腦的設(shè)備(手機(jī),pad等)皱卓,選擇build only for device下的Generic ios device裹芝,然后Archive,最后將導(dǎo)出的包重新上傳托管平臺就可以了娜汁。
您還遇到過其他什么原因?qū)е碌膇os企業(yè)應(yīng)用安裝失敗的情況呢嫂易?歡迎吐槽。