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

How to force error on SwiftLint instead of warnings?

我的问题很简单,如何让所有warningsSwiftLint上变成errors? (无需单独手动配置每个规则)

要将 SwiftLint 集成到您的项目中,您通常需要添加一个 运行 脚本阶段,如 described by the doc

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

"${PODS_ROOT}/SwiftLint/swiftlint"

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

"${PODS_ROOT}/SwiftLint/swiftlint" lint --strict

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

Command /bin/sh failed with exit code 3

这是预期的错误。

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

您可以通过管道输出并将“警告”替换为“错误”,方法是添加:

| sed "s/warning:/error:/"

整个命令如下所示:

"${PODS_ROOT}/SwiftLint/swiftlint" lint --strict | sed "s/warning:/error:/"

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