从 SwiftLint 配置中排除 Pod



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

我的项目目录是这样的:

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

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

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

我真的不明白它将"项目"标签解析为什么,所以我在这里抓住稻草来排除 pod 目录,该目录比 .swiftlint.yml 文件所在的级别高。 我尝试将 .swiftlint.yml 向上移动一个级别,因此它位于/AppName 和/Pods 旁边,但无论我在包含的内容上更改了什么(我认为不需要更改,因为我认为它以递归方式工作(,swiftlint 会声称没有可检查的文件,所以我对下一步不知所措。

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

included:
- AppName
excluded:
- Pods

由于0.43.0versión,您需要指定相对于当前工作目录的路径,因此可以使用${PWD}

excluded:
- ${PWD}/Pods

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

我的解决方案是使用 finder 将".swiftlint.yml"文件移动到项目的根目录。然后我从查找器转移到我的 Xcode 项目结构。

最新更新