ios - Xamarin iOS 中的 ipa 文件大小问题

标签 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 文件大小的解决方案?

最佳答案

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

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

您可以通过设置链接器选项来链接发布配置中的所有程序集,从而潜在地减小应用程序的大小。请注意,如您的问题所述,将链接器设置为无将对您的应用程序大小不利。

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

添加到项目中的每个 nuget 包也会增加应用程序的大小。但是,使用链接器时,其影响将取决于您实际使用了多少包。在链接过程中,任何未使用的内容都将被删除。

您还可以通过查看您的应用程序中包含的其他 Assets (例如图像)来减小应用程序大小,并查看是否可以通过缩小它们或增加压缩来节省空间。

最后一点,在您将应用程序上传到 iTunes Connect 后,App Store 会为您的应用程序添加自己的加密,这可以显着增加整体大小。由于加密会混淆模式,因此压缩后的应用程序会更大。影响因应用程序而异。将诸如长字符串或表格之类的数据从代码中移出并移入外部文件将使最终下载的文件更小,因为这些文件将被更有效地压缩。

关于ios - Xamarin iOS 中的 ipa 文件大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40610209/

相关文章:

iphone - 从 iPhone 应用程序访问私有(private) Web 服务

c# - 用信息填充表

c# - Xamarin Forms Rg.Plugins.Popup

c# - 为什么不使用自定义字体? Xamarin.Forms.iOS

ios - UIPageViewController 索引错误

ios - 在委托(delegate)内部访问时 IBOutlet 值为零

android - xamarin 跨平台地理围栏

c# - iOS/MonoTouch 等同于 Windows 窗体显示/隐藏对话框?

c# - 在 iOS Xamarin 中显示秒、分钟和小时的计时器

ios - 在 HTTP Post 上发送 NSDictionary 的格式是什么?