导出包含Swift的项目的存档时,我们可以选择"去除Swift符号"。虽然在一个只有一个虚拟Swift文件的项目中,我还没有看到应用程序大小的任何差异,因此是最大限度剥离的完美案例。
这是做什么的,它如何影响最终的应用程序大小(.ipa)?
P.S:如Xcode 9 beta 6所示
更新:实际上,在查看特定设备变体时,我可以观察到轻微的ipa尺寸减小(3.4 MB未压缩)(尽管不适用于通用变体)
答案 0 :(得分:7)
根据Xcode docs:
新的Strip Swift符号(
STRIP_SWIFT_SYMBOLS
)构建设置是 默认启用。它调整符号剥离的级别,以便 当构建的链接产品被剥离时,所有Swift符号 被删除。这大大减少了Swift框架的大小。 如果缺少Swift符号会导致问题,例如使用时dladdr()
,可以禁用此设置。查看导出的符号 从已被剥离的文件中,使用xcrun dyldinfo -export
代替nm
。 (31306055)