10

问题

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

代码

.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.swiftlint和整个目录都不会myproject/API/被排除在外!

问题

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

也许 Cocoapods 需要额外集成才能使 SwiftLint 工作的方式会导致这个问题。但是,我尝试清空 Build Phases Run Script,并确认 .swiftlint.yml 文件确实在构建时运行。

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

4

2 回答 2

1

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

SwiftLint 只查看源文件在磁盘上的位置,而不是使用 Xcode 的 Project Navigator 中显示的层次结构。当您在 Finder 中查找时,您需要确保您希望被排除的文件肯定在API 目录中,而不仅仅是 Xcode 中的API

于 2018-11-27T20:55:02.173 回答
1

我有一个类似的问题。不知何故,我最终得到了其他符号,例如U+2067在文本编辑器中看不到的符号。我设法将它们删除vim。这是git diff删除不必要符号后的命令屏幕截图: 在此处输入图像描述

也许会有所帮助

于 2019-10-03T11:53:47.183 回答