我沉迷于” .swiftlint.yml”规则不起作用


我在

.swiftlint.yml中写了line_length规则,但有时没有体现出来。
我在Lint上添加了以下规则,因为在AppDelegate等上有评论警告,但未得到反映。

.swiftlint.yml

1
2
3
line_length:
  warning: 300
  ignores_comments: true

似乎存在一种现象,即使SwiftLint的版本过旧或RULE中有3个半角空格,但
就我而言不是。

尝试

  • 升级Homebrew并重新插入swiftlint。
  • 检查YAML是否正确编写。

    • YAMLlint-YAML验证程序http://www.yamllint.com/

  • Swiftlint升级/ Swiftlint卸载

结论

除非与xxx.xcodeproj处于同一层次结构中,否则

.swiftlint.yml不会被反映。
就我而言,我是从github克隆它的,因此它具有以下目录结构。

1
2
3
4
5
6
7
8
9
SampleProject
    ├── SampleProject
    │   ├── SampleProject/...
    │   ├── SampleProject.xcodeproj
    │   └── SampleProjectTests
    ├── .swiftlint.yml
    ├── README.md
    ├── .gitignore
    └── .git

通过将xxx.xcode.proj.swiftlint.yml放在根目录的相同层次结构中来应用规则,如下所示。

1
2
3
4
5
6
7
8
SampleProject
    ├── SampleProject/...
    ├── SampleProject.xcodeproj
    ├── SampleProjectTests
    ├── .swiftlint.yml
    ├── README.md
    ├── .gitignore
    └── .git

克隆并创建项目文件后,该项目名称的目录名称已重复,因此
我认为创建项目文件后最好执行git clone http://xxxxxx.com/xxxxxx.git .
添加最后一个.以避免创建与存储库同名的目录。

参考

当.swiftlint.yml文件与project.xcodeproj不在同一文件夹中时,如何使用swiftlint命令和Xcode脚本?·问题#2673·领域/ SwiftLint
https://github.com/realm/SwiftLint/issues/2673

不要使用git clone创建目录| Orfool
https://orfool.com/programing/2206/

我尝试过SwiftLint-Qiita
https://qiita.com/ushisantoasobu/items/b494c9cf7d78a968b373

SwiftLint-Qiita的disabled_rules列表(带有示例)
https://qiita.com/akatsuki174/items/6da27f7ccdd0572f8927

SwiftLint操作诀窍-Qiita
https://qiita.com/shtnkgm/items/6dd756aa14926736c6f5