Xamarin iOS中的ipa文件大小问题

时间:2016-11-15 12:46:52

标签: ios xamarin xamarin.ios

昨天我创建了IPA文件,它显示估计的应用商店大小为100 MB,今天我也尝试创建IPA,但其显示的估计应用商店大小为525 MB。

我读取了接受IPA文件的苹果指令:

Apple支持的最大尺寸为2GB。 可执行文件大小不应该大于60 MB。

我看到了" bin"和" obj"是我的代码中包含1.5和5.5 GB的文件夹。支持的体系结构设置为ARMV7和ARMV64,链接行为为NONE。

任何减少ipa文件大小的解决方案?

1 个答案:

答案 0 :(得分:2)

Xamarin应用程序大小略大于Objective-C应用程序,因为Mono框架是应用程序包的一部分。

您构建的体系结构也将增加应用程序大小,因为将为每个体系结构创建二进制文件 - 我建议您仅为ARMv7和ARM64构建,省略ARMv7,除非您需要利用该体系结构提供的特定优化。

通过设置链接器选项以链接发布配置中的所有程序集,可以减少应用程序大小。请注意,如您的问题中所述,将链接器设置为none将对您的应用程序大小产生不利影响。

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

添加到项目中的每个nuget包也会增加应用的大小。但是,使用链接器时,其影响将取决于您实际使用的包的数量。在链接过程中,任何未使用的东西都会被剥离。

您还可以通过查看应用中包含的其他资源(例如图片)来缩小应用尺寸,并查看是否可以通过缩小或增加压缩来节省空间。

最后一点,在您将应用程序上传到iTunes Connect后,App Store会将其自身的加密功能添加到您的应用中,从而显着增加整体尺寸。由于加密模糊了模式,因此生成的压缩应用程序将更大。影响因app而异。将数据(如长字符串或表格)移出代码并移入外部文件将使最终下载更小,因为这些文件将更有效地压缩。