如何在 SwiftLint 上强制错误而不是警告?

Rod*_*uiz 12 swiftlint

我的问题很简单,我怎么做都warnings成为errorsSwiftLint?(无需单独手动配置每个规则)

Cœu*_*œur 11

要将 SwiftLint 集成到您的项目中,您通常需要添加一个运行脚本阶段,如文档所述

如果您使用 CocoaPods 安装,此脚本将如下所示:

"${PODS_ROOT}/SwiftLint/swiftlint"
Run Code Online (Sandbox Code Playgroud)

这是您可以自定义命令行选项的地方。在您的情况下,您可能需要使用:

"${PODS_ROOT}/SwiftLint/swiftlint" lint --strict
Run Code Online (Sandbox Code Playgroud)

警告仍然会显示为警告,但会给出一个额外的错误,阻止运行或归档:

命令 /bin/sh 失败,退出代码为 3

这就是期望的错误。


小智 5

“--strict”标志的一个缺点是它不会显示哪一行有警告。

您可以通过管道输出并通过添加以下内容将“警告”替换为“错误”:

| sed "s/warning:/error:/"
Run Code Online (Sandbox Code Playgroud)

整个命令将如下所示:

"${PODS_ROOT}/SwiftLint/swiftlint" lint --strict | sed "s/warning:/error:/"
Run Code Online (Sandbox Code Playgroud)

然后 Xcode 会将所有 SwiftLint 警告显示为错误。