Xcode 8.3为Unity IOS Build制作了特别大的(.ipa)文件?

我们已成功在Android中推出Unity游戏,最终制作了大小为28mb的最终.apk文件。 当我们将产品的构建导出到Xcode 8.3并开始制作存档以便上传到iTunes Store时,它出人意料地回复了一个非常大的最终(.ipa)文件,即160mb。

我们在删除不需要的资产后做了另外尝试,并制作了另一个具有微小效果并将大小减小到159.4mb的.ipa文件。

我们也是IOS和WatchKit应用程序的开发人员,我们知道Xcode不是一个理想的工具,并且有像封装原始大小的错误,但我们之前从未遇到过这样的问题,因为我们的应用程序压缩大小从未如此高。 我们的产品压缩尺寸的平均尺寸始终保持在30-40mb,即使是其中最大的。

这个游戏是一个2D游戏,没有这样的高分辨率媒体,真的可以负责这样的大小。 在这里,我们有关于IOS统一构建的报告:

在此处输入图像描述

其次,我们有关于Xcode中生成的.ipa文件的报告。

在此处输入图像描述

最后还有导出Xcode的.ipa文件的报道。 在此处输入图像描述

这有三个原因:

1.) Xcode 8.3.0有一个错误,可以创建更大的构建。 在我们的例子中它比平常大15%。 Apple已在Xcode 8.3.1及更高版本中修复此问题,Apple现在拒绝上传使用Xcode 8.3.0创建的版本。

2.)App Store Builds的大小比用户在其设备上下载的大,因为它包含每个架构(armv7,armv7s,64bit)或目标设备的所有bitcode变体

此外, 下载的压缩文件大小应用程序安装大小之间存在差异。 您可以在应用程序>“活动”选项卡下的iTunes Connect中上传后检查,然后“所有构建”。

在我们的案例中,AppStore IPA大了181MB。 压缩文件大小为69MB,安装大小为87MB。 压缩文件大小和安装大小之间的比率可能会有所不同,具体取决于压缩对资产的处理效果。 我还有一个压缩文件大小为618MB,安装大小为1.37 GB的情况。

3.) Android不会在安装时解压缩其APK ,而是直接从其中读取/流式传输数据,而无需在文件系统上完全提取它。 (另见我在类似问题上的回答 )