如何使用 CocoaPods 排除 SwiftLint 的文件/文件夹?

gps*_*ugy 7 xcode cocoapods swiftlint

问题

在构建我的 xcode Swift 项目时,我从 .swiftlint.yml 文件中排除的文件/文件夹的 SwiftLint(即空计数违规)收到违规,但在该excluded部分中指定这些文件/文件夹时,违规仍然发生。

代码

.swiftlint.yml

included:

excluded:
  - Pods
  - myproject/API/api_implementation.swift
  - myproject/API
Run Code Online (Sandbox Code Playgroud)

构建阶段运行脚本

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

项目结构

/projectroot
    .swiftlint.yml
    Pods/
    myproject/
        API/
            api_implementation.swift
Run Code Online (Sandbox Code Playgroud)

lint既不myproject/API/api_implementation.swift也不myproject/API/排除整个目录!

问题

从 lint 中排除此文件和文件夹有什么不正确之处?如果我的语法不正确,正确的语法是什么?如果我的路径不正确,那么 SwiftLint 文件从哪里运行?有趣的是,即使 .swiftlint.yml 文件在我项目的根目录中,运行的 swiftlint 文件也在 Pods/SwiftLint/

也许 Cocoapods 需要额外集成才能让 SwiftLint 工作的方式会导致这个问题。但是,我已尝试清空构建阶段运行脚本,并确认 .swiftlint.yml 文件确实在构建中运行。

任何帮助或想法将不胜感激!

rod*_*han 1

你的语法和内容.swiftlint.yml对我来说看起来是正确的,但我想知道问题是否归结为 Xcode 中的组与文件夹?

SwiftLint 仅查看磁盘上源文件的位置,而不使用 Xcode 中项目导航器中显示的层次结构。当您在 Finder 中查找时,您需要确保您希望排除的文件确实位于目录中API 而不仅仅是Xcode 中的API