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

时间:2017-06-02 08:07:46

标签: ios xcode unity3d game-engine ipa

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

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

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

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

enter image description here

其次,我们有关于Xcode制作的.ipa文件的报告。

enter image description here

最后还有导出Xcode的.ipa文件的报道。 enter image description here

1 个答案:

答案 0 :(得分:3)

有三个原因:

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 ,而是直接从其中读取/流式传输数据,而无需在文件系统上完全提取数据。 (关于类似问题,另见my answer here