做ios簽名的注意!以下這些問題將會導致app安裝出錯!


在做ios簽名的時候,通常都會根據簽名的類型去選擇不同的打包方式。但是,錯誤的打包方式會直接導致簽名失敗,應用在安裝的時候出錯。其實,很大程度上是因為你在打包的時候選擇了錯誤的打包方式才會出現如此尷尬的局面。下面為大家整理一下大致原因,希望大家在做ios簽名的時候盡量避免出錯。

ios app安裝出錯

1、打包方式錯誤導致。開發者在打包App時,導出蘋果App的安裝包文件(ipa文件)時,選擇了App-Store方式

通常這個問題出在導出蘋果iOS的ipa文件時,有些開發者錯誤的選擇了App-Store方式,此方式導出的ipa文件,僅適合於上傳到蘋果 App Store,並不能通過做企業簽名后進行安裝。假如是如此方式導出的ipa文件,當傳到分發平台上后,會顯示“App-Store版”,此類版本是不能安裝的。

2、在導出App的安裝包文件(ipa文件)時,選擇了Ad-hoc方式,卻並未添加設備的UDID

當在導出蘋果iOS的安裝包文件時,如果選擇了Ad-hoc方式(一般適用於蘋果的個人開發者賬戶),那么,如果某台設備需要安裝,則必須要將這台設備的UDID添加到導出安裝包時所用的證書文件中(. mobileprovision文件),然后才可以在這台設備上進行安裝。

3、在導出App的安裝包文件(ipa文件)時,選擇了In-house方式,不過證書已過期或被撤銷

在導出蘋果iOS的安裝包文件時,假如選擇了In-house方式(一般適用於蘋果的企業開發者賬戶),此時,如果出現無法安裝的情況,開發者可以排查一下自己的企業開發者證書是否已過期或是否被撤銷。因為蘋果對於企業開發者證書監測比較嚴格,一旦開發者使用不當,可能會導致企業證書被蘋果官方封掉撤銷,被撤銷后的企業證書導出的安裝包,也是無法正確安裝的。

4、開發者在生成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類型。

5、App支持的iOS系統版本,和當前設備系統版本不符合

App支持的iOS系統版本過低或者過高,都有可能導致App無法安裝成功。例如,假如某個 App設置了只支持iOS 11.0以上的系統時,那么,如果在低於這個版本的系統上安裝時,那么是無法安裝成功的。

因此,解決的方法也很簡單,我們應該讓App盡可能支持更寬泛的系統版本。具體操作方式是:在Xcode - General - Deployment Info - Deployment Target 中,給App設置一個盡量低的版本,例如 iOS 6.0。

6、設備上已經安裝了這個App,且已經安裝的App和要安裝的App是用不同證書打包的

這樣的情況下,也會造成App安裝失敗。解決的方式很簡單,用戶只需將設備上原來已經安裝的App刪除,然后再重新安裝新的App即可。

7、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。

8、網絡出現中斷或異常

當遇到這種情況,用戶可檢查自己手機的所連接的網絡是否穩定、速度是否正常等。可以嘗試切換一下其他網站,或者更換一個Wi-Fi,或者由Wi-Fi換成3G/4G等,然后再試試重新安裝。用這樣的方式嘗試后,一般都可以解決問題。

以上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM