【问题标题】:Unexpected iOS App size increase with TestFlight使用 TestFlight 意外增加 iOS 应用程序大小
【发布时间】:2015-12-30 09:54:46
【问题描述】:

我们正在为 iOS 制作游戏(在 unity 3d 下),IPA 文件大小约为 90 MB。我们提交了它以供审查,同时我们将相同的构建推送到内部测试人员的 Test Flight。令人惊讶的是,Test Flight 的大小现在是 400 MB(未压缩大小)。

我们对游戏的早期版本进行了试飞内部测试,但从未达到如此大的规模。

有人知道试飞是如何占用未压缩文件并显示该文件以供下载(下载 400 MB)的吗?

另外,在我们将其设置为发布后,该应用的下载大小为 90 MB 还是 400 MB?

【问题讨论】:

  • 如果任何答案对您有用,如果您接受该答案,对其他人会有所帮助。如果没有,请随时评论给出的答案,或更新您的问题。

标签: ios unity3d app-store-connect testflight


【解决方案1】:

了解 App Store 规模的最佳方法是在此处进行分析:

http://forum.unity3d.com/threads/il2cpp-build-size-improvements.322079/

TL;DR

由于对二进制文件的某些部分进行压缩,应用程序大小的经验公式是:

app_store_size = sizeof(.ipa/(zip with exec_binary removed)) + sizeof(codesegment(exec_binary)) + 0.2 * sizeof(datasegment(exec_binary))

此分析仅查看二进制大小,因此您还需要添加任何资产的大小。

【讨论】:

    【解决方案2】:

    好的,我不确定你如何将应用发送到 TestFlight,但如果你使用的是 App Loader 或 XCode,你可以取消选中“包含位码”字段,我不确定它是否默认设置。

    这是它在 XCode 中的样子(导出存档时): https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Art/6_ios_review_dist_profile_2x.png

    问题是,iTunes 将为您的应用程序创建不同的二进制文件,每个二进制文件都针对不同版本的设备(如不同版本的 iPad、iPhone 等)进行了优化。这就是为什么您在 TestFlight 上的应用程序与您的 ipa 文件相比在大小上有如此巨大的差异。

    【讨论】:

    • 我使用 App Loader 将其上传到 TestFlight。而且,不,我没有任何“位码”复选框。我曾经也对以前的版本应用相同的设置和方法,但它从来没有那么大。
    • 查看此文档以了解更多详细信息:developer.apple.com/library/tvos/documentation/IDEs/Conceptual/… 我不确定这如何适用于 Unity 上的项目,据我所知,基本上 iTunes 将默认设置 AppThinning。这并不意味着该应用程序在安装到设备后将有 400MB 大小。它背后的整个想法是为每个设备优化它(如果它们在 iOs9 + 上)。
    • 关于 Unity 和应用瘦身的一些细节可以在这里找到:blogs.unity3d.com/2015/12/28/…
    【解决方案3】:

    检查 IPA 的内容。它可能在 DSYM 文件夹中包含调试符号。由于 il2cpp 输出非常大,符号文件也将如此。我想它们包含在 Testflight 上传中,因为它们用于 QA 目的,其中调试符号非常有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多