前言
SwiftLint
是一个实用工具,用于实现 Swift 的风格。 在 Xcode 项目构建阶段,集成 SwiftLint 很简单,构建阶段会在编译项目时自动触发 SwiftLint。
遗憾的是,目前无法轻松地将 SwiftLint
与 Swift Packages
集成,Swift Packages 没有构建阶段,也无法自动运行脚本。
本文介绍了如何在 Xcode 中使用 post action
脚本在成功编译 Swift Package 后自动触发 SwiftLint。
SucceedsPostAction.sh
SucceedsPostAction.sh
是一个 bash 脚本,用作 Xcode 中的 “Succeeds” 发布操作。当你编译一个 Swift 包时,这个脚本会自动触发 SwiftLint
。
安装
- 在 Mac 上下载脚本
SucceedsPostAction.sh
。 - 确保脚本具有适当的权限,即运行
chmod 755 SucceedsPostAction.sh
。 - 如果要使用自定义 SwiftLint 规则,请将
.swiftlint.yml
文件添加到脚本旁边。 - 启动 Xcode 13.0 或更高版本
- 打开 Preferences > Locations 并确保
Command Line Tools
设置为 Xcode 版本 - 打开 Preferences > Behaviors > Succeeds
- 选择脚本
SucceedsPostAction.sh
就是这样:每次编译 Swift 包时,SucceedsPostAction.sh
都会运行 SwiftLint。
Demo
限制
在 Xcode 中运行的 post action
脚本无法向 Xcode 构建结果添加日志、警告或错误。因此,SucceedsPostAction.sh
在 Xcode 中以新窗口的形式打开一个文本文件,其中包含 SwiftLint 报告列表。没有深度集成可以轻松跳转到 SwiftLint 警告。
Swift 5.6
请注意,由于SE-0303: Package Manager Extensible Build Tools,Swift 5.6(在撰写本文时尚不可用)可能会有所帮助。集成 SE-0303 后,不再需要此脚本。
下载
您可以在 Github 上找到最新版本的脚本 SucceedsPostAction.sh
。
关于我们
Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心的技术内容,也整理收集优秀的学习资料。
特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。