Swift 6 编译加速:启用 Swift-Syntax 预构建 (Prebuilts)
🔍
2025 年 6 月 6 日 (更新于 2025 年 12 月 11 日)
核心摘要:Swift 宏(Macros)的强大依赖于庞大的 SwiftSyntax 库,这往往拖慢了项目的冷启动编译速度。从 Swift 6.1.1 开始,通过启用“预构建(Prebuilts)”功能,可以避免重复编译该库,显著缩短构建时间。
Swift 5.9 引入宏功能后,开发者纷纷开始定制、使用自定义宏以提升开发效率。然而,宏依赖的 SwiftSyntax 库源码庞大,每次清理构建文件夹后重新编译都会消耗大量时间。
从 Swift 6.1.1 (Xcode 16.4) 起,苹果引入了预构建版本的 Swift-Syntax 支持。开发者只需简单配置,即可直接使用二进制产物,无需从源码编译。
开启方法
1. Xcode 开发环境
在终端执行以下命令,修改 Xcode 的隐藏配置以启用预构建支持:
# 开启预构建支持
defaults write com.apple.dt.Xcode IDEPackageEnablePrebuilts YES
# 如需关闭,执行以下命令
defaults delete com.apple.dt.Xcode IDEPackageEnablePrebuilts2. 命令行 (SPM / CI 环境)
如果你在 CI/CD 流水线或终端中使用 Swift Package Manager,请在命令中添加参数:
swift build --enable-experimental-prebuilts
swift test --enable-experimental-prebuilts注意事项
- 版本要求:必须使用 Swift 6.1.1 (Xcode 16.4) 或更高版本。
- 缓存清理:首次启用该功能前,建议彻底清理旧的构建缓存,否则可能无法立即生效:
- Xcode:
Product->Clean Build Folder,建议手动删除DerivedData。 - CLI: 删除项目根目录下的
.build文件夹。
- Xcode:
- 网络环境:预构建的二进制文件需要在解析 Package 时下载,请确保网络环境能够访问苹果的 CDN 或相关的镜像源。
效果对比
启用预构建后,编译自定义宏项目由数十秒缩短至几秒,极大提升构建体验。
延伸阅读
相关提示
订阅 Fatbobman 周报
每周精选 Swift 与 SwiftUI 开发技巧,加入众多开发者的行列。