iOS應用安裝失敗原因排查 – HTTPS SSL 教程

hdgara1發表於2020-01-20

iOS應用安裝失敗原因排查 – HTTPS SSL 教程

1 .在 iOS 9 中啟動應用時,出現提示“未受信任的企業級開發者”

在系統中開啟 設定 - 通用 - 描述檔案(在iOS 9.2以後叫:裝置管理),此時,可以看到有一個和剛剛彈出的提示中文字類似的描述檔案。然後,點選對應描述檔案進入後,再點選按鈕 信任

2. 在 iOS 9 中點選“安裝”按鈕後,沒有彈出“是否安裝”的提示?

這個問題是因為 iOS 9 的一個 Bug 導致的。出現這個問題的前提,一般是由於使用者已經從蘋果官方 App Store 上安裝了相同的應用。解決辦法是:先在裝置中刪除之前已經安裝的應用,然後再從蒲公英安裝即可。

3.  為什麼在 iOS 9 中,點選“安裝”按鈕後,沒有任何反應,桌面也沒有出現應用圖示,但是狀態列上的網路圖示在轉?

這是由於 iOS 9 中的一個 Bug 造成的。雖然看上去沒有反應,其實應用已經在後臺開始下載並安裝了,狀態列上的網路圖示在轉就是一個證明。這個時候,只要多等待一會兒就好了,應用安裝完成之後會在桌面上顯示出來的。

4. 安裝 iOS 應用時,出現提示“無法連線到 download.getssl.cn”

這個問題一般是由於使用者的網路,或者手機快取錯誤造成的,可以嘗試如下兩個方法來解決:
重啟手機,然後嘗試重新安裝。
換一個網路環境,例如換一個 Wi-Fi 熱點,或由 Wi-Fi 換成 3G/4G 等,然後重新安裝。

5. 其他一些可能導致應用無法安裝的原因:

原因一:在匯出 iOS App 的安裝包檔案(.ipa檔案)時,選擇了 App-Store 方式。

在匯出 iOS 的 .ipa 檔案時,有些開發者選擇了 App-Store 方式,這種方式匯出的 .ipa 檔案,只適合於上傳到蘋果 App Store,並不能在自己網站上安裝。

原因二:在匯出 iOS App 的安裝包檔案(.ipa檔案)時,選擇了 Ad-hoc 方式,但是沒有新增裝置 UDID。

在匯出 iOS 的安裝包檔案時,如果選擇了 Ad-hoc 方式(一般用於蘋果個人開發者賬戶),那麼,如果要某臺裝置可以安裝,則必須要將這臺裝置的 UDID 新增到匯出安裝包時所用的證書檔案中(. mobileprovision檔案),才可以在這臺裝置上安裝。

原因三:在匯出 iOS App 的安裝包檔案(.ipa檔案)時,選擇了 In-house 方式,但是證書已過期。

在匯出 iOS 的安裝包檔案時,如果選擇了 In-house 方式(一般用於蘋果企業開發者賬戶),此時,如果出現無法安裝的情況,開發者可以檢查一下自己的企業開發者證書是否已過期。因為蘋果對於企業開發者證書管理較為嚴格,所以開發者如果使用不當,可能會導致企業證書被封,被封后的企業證書匯出的安裝包,也是無法正確安裝的。

原因四:開發者在生成App安裝包時,沒有在 Xcode 中設定正確的 Architecture。

iOS 應用的 Architecture(架構),決定了這款 iOS 應用可以在哪些裝置機型上安裝。例如,如果某個應用在 Xcode 中只新增了 arm64 這一種 Architecture,那麼最終打包後的安裝包檔案上傳到蒲公英後,對於 iPad mini、iPhone5 等以下裝置,都是無法安裝的(因為這些裝置都不是 arm64 架構)。換句話說,如果需要在某個裝置上可以安裝,App 就必須支援那個裝置的 Architecture。

所以,正確的解決方法是,在生成 App 安裝包時,儘可能讓 App 支援更多的 Architecture。

具體操作方法是:在 Xcode – Build Settings – Architecture 中,增加 armv7、armv7s、arm64,以便所有裝置都可以安裝。然後,將 “Build active architecture only” 設定為 NO。對於各個 iOS 裝置支援的 Architecture 型別。請點選這裡檢視。

原因五:App 支援的 iOS 系統版本,和當前裝置系統版本不符。

App 支援的 iOS 系統版本過低或者過高,都可能導致 App 無法安裝成功。例如,如果某個 App 設定了只支援 iOS 7.0 以上的系統時,那麼,如果在 iOS 6.1 系統上安裝時,肯定是無法安裝成功。

因此,解決的方法也很簡單,我們應該儘量讓 App 儘可能支援更寬泛的系統版本。

具體操作方式是:在 Xcode – General – Deployment Info – Deployment Target 中,給 App 設定一個儘量低的版本,例如 iOS 5.0。

原因六:開發者上傳的是一個破解的 ipa 安裝包,或者是一個使用破解 Xcode 方式打包生成的 ipa 安裝包,或者是透過 iTunes 生成的 ipa 安裝包。

透過任何非 Xcode(或 Xcode 的命令列工具)生成的安裝包,都是沒有辦法正確在裝置上安裝的(越獄裝置除外)。常見的不正確的打包 ipa 的方式有:透過 iTunes 匯出安裝包檔案、透過 iTools 匯出安裝包檔案等等。這種型別的 App 都是未簽名的不能安裝。

正確的方法是,使用一個正常的蘋果開發者證書,透過未破解的 Xcode 打包生成 ipa 安裝包。

原因七:裝置上已經安裝了這個App,且已經安裝的 App 和要安裝的 App 是用不同證書打包的。

這種情況下,也會造成 App 安裝失敗。解決的方式很簡單,開發者只需將裝置上原來已經安裝的 App 刪除,再重新安裝新的 App 即可。

原因八:Info.plist 檔案中的LSRequiresIPhoneOS 沒有設定,或者設定了 NO。

對於 iOS 的 App 來說,如果Info.plist 檔案中的LSRequiresIPhoneOS 沒有設定,或者設定了 NO,那麼由 Xcode 匯出的安裝包(.ipa 包),就不會包含 Payload 資料夾,而是被一個叫做 Applications 的資料夾代替。這樣的安裝包在安裝時,會被 iOS 判定為無效的安裝包,所以無法被正確安裝。

解決方式也很簡單,只需要將Info.plist 檔案中的LSRequiresIPhoneOS 設定為 YES,然後重新打包即可。具體操作為:在 Xcode 中開啟 Info.plist 檔案,然後檢查 LSRequiresIPhoneOS 是否已設定,如果沒有設定,就新增一個,然後將 LSRequiresIPhoneOS 的型別設定為 Boolean,值設定為 YES。

設定好以後,可以看到 Info.plist 檔案中顯示 Application requires iPhone environment 的值為 YES。

原因九:網路出現中斷或異常。

遇到這種情況,使用者可檢查自己手機的所連線的網路是否穩定、速度是否正常等。可以嘗試一下其他網站,或者更換一個 Wi-Fi,或者由 Wi-Fi 換成 3G/4G 等,然後重新安裝。

 

全球可信CA機構

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31483669/viewspace-2674083/,如需轉載,請註明出處,否則將追究法律責任。

相關文章