首页 文章

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

提问于
浏览
1

我们已成功在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 回答

  • 3

    这有三个原因:

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

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

    此外, downloaded compressed file sizeapp installation size 之间存在差异 . 您可以在应用程序> "Activity"选项卡下的iTunes Connect中上传后检查,然后"All Builds" .

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

    3.) Android does not unzip its APK 关于安装但是直接从它读取/流式传输数据而不在文件系统上完全提取它 . (关于类似问题,另见my answer here

相关问题