Xcode中的“strip Swift symbols”实际上是做什么的?

ej83mcc0  于 2023-04-22  发布在  Swift
关注(0)|答案(1)|浏览(526)

当导出包含Swift的项目的存档时,我们可以选择“剥离Swift符号”。虽然在只有一个虚拟Swift文件的项目中,我没有看到应用程序大小的任何差异,因此是最大剥离的完美案例。
这到底是什么,它如何影响最终的应用程序大小(.ipa)?

P.S.:如Xcode 9 beta 6所示
更新:实际上,我可以观察到轻微的ipa大小减少(3.4MB未压缩)时,在特定的设备变种(不是通用的变种虽然)

bf1o4zei

bf1o4zei1#

根据Xcode docs
新的Strip Swift符号(STRIP_SWIFT_SYMBOLS)build设置默认启用。它调整符号剥离的级别,以便当构建的链接产品被剥离时,所有Swift符号都被删除。这大大减少了Swift框架的大小。如果缺少Swift符号导致问题,例如使用dladdr()时,可以禁用此设置。要查看从已剥离的文件导出的符号,请使用xcrun dyldinfo -export而不是nm。(31306055)

相关问题