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

标签 xcode cocoapods swiftlint

问题

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

代码

.swiftlint.yml

included:

excluded:
  - Pods
  - myproject/API/api_implementation.swift
  - myproject/API

构建阶段运行脚本

"${PODS_ROOT}/SwiftLint/swiftlint"

项目结构

/projectroot
    .swiftlint.yml
    Pods/
    myproject/
        API/
            api_implementation.swift

myproject/API/api_implementation.swift 和整个目录 myproject/API/ 都不会被排除在 lint 之外!

问题

将此文件和文件夹排除在 lint 之外有什么不正确的地方?如果我的语法不正确,正确的语法是什么?如果我的路径不正确,那么 SwiftLint 文件从哪里运行?有趣的是,尽管 .swiftlint.yml 文件位于我的项目的根目录中,但运行的 swiftlint 文件位于 Pods/SwiftLint/

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

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

最佳答案

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

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

关于xcode - 如何使用 CocoaPods 排除 SwiftLint 的文件/文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51449003/

相关文章:

SwiftLint 更改规则 Cocoapods

xcode - 删除的 Settings.bundle 仍然显示在设备上

ios - 指定 iphone-ipad-minimum-performance-a12 的 uirequireddevicecapabilties

ios - 预填充的 Realm 不会在第一次启动时被复制

ios - 如何在一个 git repo 中拥有多个 pod

objective-c - xCode 8.2.1 slow build objective-c with swift pod

swift - SwiftLint 自定义规则的正则表达式不匹配

objective-c - 社交操作表(类似于 iOS 6)

ios - 无法成功准备 iOS

使用 Xcode 设置 SwiftLint