对于当前的 Xcode 版本高于 12,当我归档应用程序以供发布时,pod 中未使用的代码是否被删除?

问题描述

如今,iOS 开发人员使用大量第三方来加快开发速度。我对 Xcode 存档过程有疑问。

当Xcode归档一个应用程序发布时,当我选择最小和最快优化时,无用的代码不会在ipa文件中吗?还是没用的代码也存档在ipa?

对于 Android Studio,这个过程可能叫做最小化? Xcode 是否会自动为发布 ipa 执行此操作?

谢谢

解决方法

我不确定“最小化”是否是 Android 中使用的术语,是不是 code shrinking or tree shaking?其他术语包括死代码消除和代码剥离。

要回答这个问题,似乎都没有完成:我在 Xcode 项目中向目标添加了依赖项(Swift 包,特别是 SQLite.swift),以及应用程序的大小(归档时/使用发布版本配置时)从 4.3MB 增加到 6.6MB。


不幸的是,这是我不太关心的事情,您的问题很好。我希望其他人能给出更好的答案。

,

Xcode 中没有删除未使用/无用代码的 ipa 构建设置

此外,您使用的编译器设置

最快,最小 [-Os] 解决了这个问题:编译器执行所有通常不会增加代码大小的优化。这是传送代码的首选选项,因为它为您的可执行文件提供了更小的内存占用。

这只会有助于减少应用程序的内存占用,不会删除未使用的代码

要仔细查看,如果您使用的是动态框架,您可以检查 .ipa 的内容,您将在其中看到一个名为 Framework 的文件夹,您会在其中找到所有 pod 为 .framework,您甚至可以看到文件和里面的资源。

所以回答你的问题 Xcode 是否会自动为发布 ipa 执行此操作? -> 否