gpt4 book ai didi

xamarin.ios - iOS 存档大小差异 : command line vs. Xamarin Studio

转载 作者:行者123 更新时间:2023-12-01 03:43:32 26 4
gpt4 key购买 nike

如何让 mdtool 构建与 Xamarin Studio 的菜单选项(构建 > 存档)一样小的 iOS 存档?

我有一个来自脚本的项目构建文件,它比 Xamarin Studio 从菜单命令手动生成的要大得多。

脚步

对于 Xamarin Studio,我只需将其设置为 AppStore|iPhone 并点击 Build > Archive 菜单项。

对于命令行,这里是 RAKE 脚本对 mdtool 的命令行调用:

.../mdtool -v archive \"--configuration:AppStore|iPhone\" -p:SomeProject.iOS SomeSolution.sln



他们都使用的“AppStore|iPhone”构建配置在 iOS 构建项目设置下设置为“仅链接 SDK 程序集”。

当命令行归档运行时,它肯定会打印 LinkMode: SdkOnlyMTouch Task控制台输出的一部分。

结果文件

在给我带来麻烦的项目中,命令行生成的 xcarchive 文件为 102MB,Xamarin Studio 为 66MB(差异:36MB),Xcode 估计 App Store 大小分别为 69MB 和 35MB。

在 xcarchive 文件中,它变得更加困惑。有两个不同的文件,这两个文件相差约 60MB(与上述差异不匹配):
  • dSYM 文件:17kb 与 29.2MB(奇怪)
  • [在 .app 文件中] 应用程序可执行文件:30.1MB 与 65.7MB(我预计会有差异)
  • 最佳答案

    请注意 mdtool自 Xamarin.iOS 移至使用 msbuild 以来,大部分已弃用(仍用于经典的、不统一的应用程序)因为它是构建系统。

    dSYM file: 17kb vs. 29.2MB (weird)



    前者是错误的。注意:最近修复了一个错误,您可能需要 重建 ,而不仅仅是构建,以获得正确的 .dSYM。

    这是符号目录大小。这不是作为您的应用程序的一部分运送(给客户)的东西。然而,存档很重要,因为它将用于表示您的应用程序的任何崩溃报告(来自客户)。

    30.1MB vs. 65.7MB



    如果看起来第一种情况是一个瘦(例如只有 ARMv7)二进制文件,而后者是一个胖(例如 ARMv7 + ARM64)应用程序。对于新应用程序,Apple 将仅接受 AppStore 上的胖应用程序(即 32 位和 64 位)。

    Xcode estimates



    由于对文件进行了压缩,因此估计值可能非常错误。它更加复杂,因为 Apple 的 DRM 将加密应用程序的可执行部分 - 并且加密数据不能很好地压缩(或者它是一种非常糟糕的加密;-)。

    关于xamarin.ios - iOS 存档大小差异 : command line vs. Xamarin Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042887/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com