从 SwiftLint 配置中排除 Pods

Excluding Pods from SwiftLint configuration

我正在通过 Cocoapods 将 SwiftLint 集成到现有项目中。

我的项目目录是这样的:

AppNameRepo
|-- AppName
|   |--.swiftlint.yml
|--AppName.xcworkspace
|--Pods

还有我的 .swiftlint.yml,因为我试图排除 pods:

included: # paths to include during linting. `--path` is ignored if present.
- Project
- ProjectTests
- ProjectUITests
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Pods
- ../Pods
- ./Pods
- /Pods
- Project/R.generated.swift
- Project/Pods

我真的不明白它将 'Project' 标签解析为什么,所以我在这里抓住了一根稻草来排除 Pod 目录,该目录比 .swiftlint.yml 文件驻留。我尝试将 .swiftlint.yml 向上移动一个级别,因此它位于 /AppName 和 /Pods 旁边,但无论我在包含的内容上做了什么更改(我认为不需要被更改,因为我假设它递归地工作),swiftlint 会声称没有 lintable 文件,所以我不知道接下来的步骤。

Swiftlint 正在解析相对于自身的路径。将 .swiftlint.yml 文件上移一层。 Project 应更改为反映您的 AppName 文件夹而不是项目名称。您的 swiftlint 文件将如下所示:

included:
  - AppName

excluded:
  - Pods

0.43.0版本开始,需要指定相对于当前工作目录的路径,所以可以使用${PWD}:

excluded:
  - ${PWD}/Pods

虽然这不是 OP 的问题,但我看到了这个页面,我的问题是我的 swiftlint.yml 没有添加为 .swiftlint.yml