Pgyer internal test distribution service is a leading mobile application internal test distribution platform in China, dedicated to providing easy-to-use App internal test distribution services for mobile developers and test users.
Pgyer Developer Service Platform is committed to providing excellent upstream and downstream services for developers, addressing the various needs of developers throughout the developer life cycle.
Scan QR code to follow
Pgyer WeChat Official Account
Get the latest news, official benefits, promotions and other information
Pgyer document center
iOS 的內測應用在安裝時,很多人都遇到過安裝失敗的情況,安裝失敗的原因比較多,下面我們將一些常見原因總結如下,方便開發者進行排查。
請回到 iOS 系統桌面,然后依次打開 設置
- 通用
- 描述文件與設備管理
,然后,點擊對應描述文件進入后,再點擊按鈕 信任
即可。具體解決辦法請見: 運行企業版應用
如果您是該應用的開發者,請檢查應用的簽名是否正確,這個問題出現的原因一般是由于應用的簽名不正確導致的。一般來說,對于 Adhoc 簽名方式重點檢查當前設備 UDID 是否已經注冊;對于 In-house 簽名(即企業簽名) 方式來說,需要重點檢查證書是否被撤銷。如果您不是這個應用的開發者,請聯系開發者解決。
這個問題出現的原因,一般是由于用戶已經從蘋果官方 App Store 上安裝了相同的應用。解決辦法是:先在您的設備中刪除之前已經安裝的應用,然后再從蒲公英安裝即可。
這個問題一般是由于用戶的網絡,或者手機緩存錯誤造成的,可以嘗試如下兩個方法來解決:
原因一:開發者在打包App時,導出 iOS App 的安裝包文件(.ipa
文件)時,選擇了 App-Store 方式。
在導出 iOS 的 .ipa
文件時,有些開發者選擇了 App-Store 方式,這種方式導出的 .ipa
文件,只適合于上傳到蘋果 App Store,并不能通過蒲公英來安裝。如果是這種方式導出的 .ipa
文件,傳到蒲公英上時,蒲公英會顯示“App-Store版”,這種版本是不能通過蒲公英安裝的。
原因二:在導出 iOS App 的安裝包文件(.ipa
文件)時,選擇了 Ad-hoc 方式,但是沒有添加設備 UDID。
在導出 iOS 的安裝包文件時,如果選擇了 Ad-hoc 方式(一般用于蘋果個人開發者賬戶),那么,如果要某臺設備可以安裝,則必須要將這臺設備的 UDID 添加到導出安裝包時所用的證書文件中(. mobileprovision
文件),才可以在這臺設備上安裝。
使用 Ad-hoc 方式導出的安裝包文件上傳到蒲公英后,蒲公英會顯示為“內測版”,同時會在應用管理中,顯示出該安裝包的證書中包含的 UDID 列表。開發者可以根據顯示出的 UDID 列表,來排查某臺設備的 UDID 有沒有被添加到安裝包的證書中。
原因三:在導出 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 11.0 以上的系統時,那么,如果在低于這個版本的系統上安裝時,是無法安裝成功的。
因此,解決的方法也很簡單,我們應該盡量讓 App 盡可能支持更寬泛的系統版本。
具體操作方式是:在 Xcode
- General
- Deployment Info
- Deployment Target
中,給 App 設置一個盡量低的版本,例如 iOS 6.0。
原因六:設備上已經安裝了這個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
。
另外,還可以使用蒲公英的 Mac OS 客戶端 來打包上傳 App,蒲公英的 Mac OS 客戶端在打包安裝包時,自動處理了這個問題。
原因八:網絡出現中斷或異常。
遇到這種情況,用戶可檢查自己手機的所連接的網絡是否穩定、速度是否正常等。能否打開其他網站,或者更換一個 Wi-Fi,或者由 Wi-Fi 換成 3G/4G 等,然后重新安裝。
用這樣的方式嘗試后,一般都可以解決問題。
如果根據以上的方式進行排查后,依然無法解決問題,那么可以使用蒲公英的 Mac OS 客戶端來查看安裝日志。
蒲公英的 Mac OS 客戶端中,提供了實時查看 App 安裝日志的功能,開發者可以方便的根據 App 的安裝日志,來準確的判斷具體安裝失敗的原因,具體方法請見:查看iOS的安裝日志
About Us
Product Services
Help
Your account information is under review and can not be used temporarily; you can:
Check out the help documentation for common ways to work on the Pgyer's platform;
Check Pgyer's App Auditing , which must be viewed before uploading.
Currently, the real-name authentication has not been completed, and the number of downloads for each version is limited to 5 times/day, After real-name authentication, it can be extended to 500 times/day
TestFlight is only available to Professional users.(Click understand pgyer's price plan)
支付成功
Pgyer VIP User Group
(Please open WeChat - Sweep and join the group chat)