🚀 使用 Swift-Syntax 的预构建版本,加快编译速度

TL;DR: Swift 6.1.1+ 引入预构建 Swift-Syntax 支持,大幅提升宏相关项目的编译速度。通过在 Xcode 设置或命令行中启用该特性,避免每次编译时重新构建 Swift-Syntax,可显著减少构建时间,建议首次启用前清除构建缓存。

背景

Swift 5.9 引入宏功能后,开发者纷纷开始定制、使用自定义宏,以提升开发效率。然而,宏依赖的庞大 Swift-Syntax 库常导致编译时间显著增加,成为开发中的一大痛点。

解决方案:启用预构建 Swift-Syntax

Swift 6.1.1(Xcode 16.4) 起,开发者可使用预构建版本的 Swift-Syntax,无需每次重新编译其源码,从而加快项目构建速度。

Xcode 设置

在终端执行以下命令启用预构建支持:

Bash
# 启用
defaults write com.apple.dt.Xcode IDEPackageEnablePrebuilts YES

# 关闭
defaults delete com.apple.dt.Xcode IDEPackageEnablePrebuilts

命令行构建

使用 swift buildswift test 时,添加预构建参数:

Bash
swift build --enable-experimental-prebuilts

注意事项

  • 需使用 Swift 6.1.1 及以上版本
  • 首次启用前,建议清理构建缓存:
    • Xcode 项目:删除 DerivedData 目录。
    • 命令行项目:删除 .build 目录。

编译速度实测

启用后,编译自定义宏项目由数十秒缩短至几秒,极大提升构建体验。

延伸阅读

"加入我们的 Discord 社区,与超过 2000 名苹果生态的中文开发者一起交流!"

每周精选 Swift 与 SwiftUI 精华!