2016-11-15 41 views
1

昨天我創建了IPA文件,它顯示估計的應用商店大小爲100 MB,今天我也嘗試創建IPA,但它顯示的估計應用程序商店大小爲525 MB。Xamarin中的ipa文件大小問題iOS

我讀蘋果指令接受IPA文件:

蘋果最大可支持2GB的大小。 可執行文件大小不應該大於60 MB。

我看到「bin」和「obj」是我的代碼中包含1.5和5.5 gb的文件夾。支持的架構設置爲ARMV7和ARMV64,鏈接行爲爲NONE。

任何減少ipa文件大小的解決方案?

回答

2

由於Mono框架是應用程序包的一部分,因此Xamarin應用程序的尺寸稍大於Objective-C應用程序。

您構建的體系結構也會增加應用程序大小,因爲每個二進制文件都會創建一個二進制文件 - 我建議您只爲ARMv7和ARM64構建,省略ARMv7s,除非您需要利用該體系結構提供的特定優化。

您可以通過設置鏈接器選項來鏈接發佈配置中的所有程序集,從而減少應用程序大小。請注意,根據您的問題所述,將連接器設置爲none將對您的應用程序大小產生不利影響。

https://developer.xamarin.com/guides/ios/advanced_topics/linker/#Link_all_assemblies

每個NuGet包添加到您的項目也將增加您的應用程序的大小。但是,使用鏈接器時,其影響取決於您實際使用的包的多少。在鏈接過程中,任何未使用的內容都將被刪除。

您還可以通過查看您的應用中包含的其他資產(如圖像)來縮小應用尺寸,並查看是否可以通過縮小尺寸或增加壓縮來節省空間。

作爲最後一點,將應用上傳到iTunes Connect後,App Store會將其自己的加密添加到您的應用中,從而顯着增加整體尺寸。由於加密混淆了模式,所產生的壓縮應用程序將更大。這種影響因應用程序而異。將數據(如長字符串或表格)從代碼中移出並存入外部文件將使最終下載量更小,因爲這些文件將被更有效地壓縮。

+0

感謝您的答案..我需要設置鏈接全部或鏈接框架sdk而且我已經將架構設置爲ARMv7和ARM64我仍然有這個問題 –