问题标签 [swiftlint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
322 浏览

ios - 如何让 swiftlint 在 xcode bot 中报告错误而不是触发构建脚本错误?

我已将 swiftlint 作为预集成脚本集成到 Xcode bot。

问题是,如果 linting 给出错误,摘要不会显示在Errors. 相反,它显示为触发问题和修复脚本的选项。

触发脚本错误

如何让 swiftlint 错误和警告显示在摘要中?

0 投票
1 回答
980 浏览

swift - Alamofire.upload SwiftLint 违规

使用 Alamofire 上传图像的代码会触发 SwiftLint 违规。如何修复?

带有尾随闭包违规的多个闭包:当传递多个闭包参数时,不应使用尾随闭包语法。(multiple_closures_with_trailing_closure)

0 投票
0 回答
2332 浏览

xcode - 当 .swiftlint.yml 文件与 project.xcodeproj 不在同一文件夹中时,如何使用 swiftlint 命令和 Xcode 脚本?

我使用SwiftLint来控制我的项目的代码风格,它几乎一直运行良好。但是我遇到了一个小麻烦:当.swiftlint.yml文件与项目文件'.xcodeproj'不在同一个文件夹中时,如果我使用命令swiftlint autocorrect或使用Xcode构建来使用SwiftLint.swiftlint.yml ,我每次都需要更改。以下是详细信息:

  1. 我的项目结构如下:</li>

.swiftlint.yml根路径中,但SampleProject.xcodeproj在子文件夹中;

  1. 我已经通过安装了 SwiftLint brew install swiftlint
  2. SwiftLint Script在 Xcode 中为项目添加了以下代码SampleProject.xcodeproj

    /li>

在此处输入图像描述

  1. .swiftlint.yml代码如下:

    /li>
  2. 当我使用带有文件的 SwiftLint 使用 Xcode 构建项目时SampleProject/SampleProject/Manager/Configs.swift,我需要更新以下included项目.swiftlint.yml

    /li>
  3. 当我使用带有文件的 SwiftLint 运行命令“swiftlint autocorrect”时SampleProject/SampleProject/Manager/Configs.swift,我需要更新以下included项目.swiftlint.yml

    /li>

我想找到一种方法来帮助解决这个问题,即不要更改.swiftlint.yml文件,但命令 'swiftlint autocorrect' 和 Xcode build 与 SwiftLint 一起工作正常。

0 投票
2 回答
1618 浏览

ios - 如何使用 SwiftLint 排除 Pod 警告

Xcode 显示我的一些 Pod 文件的警告,尤其是关于已弃用变量的警告。

我已经有一个 .swiftlint.yml 文件,它与我的 Pods 文件夹位于同一个文件夹中。

这是我的文件的样子:

我不明白为什么当我排除它们时它仍然显示这些警告。

0 投票
1 回答
174 浏览

swift - 难以理解 SwiftLint 错误/警告日志

以下是我的 swiftlint 日志的摘录:

MyViewController.swift:187:21:警告:空字符串违规:更喜欢检查与空字符串文字的isEmpty比较。string(empty_string)
Linting 'MyDataSource.swift' (570/578)

在上面的日志中 187:21 是什么?什么是 (570/ 578) ?

0 投票
6 回答
6276 浏览

swift - 在路径 SwiftLint 中找不到可删除的文件

我尝试使用 CocoaPods 安装 SwiftLint,并在构建阶段添加以下脚本:

SwiftLint 安装正确,我在项目中收到许多错误和警告。

然后,我创建了 swiftLint.yml 文件,在该文件中我修改了一些规则,但它们没有被考虑在内,并且相同数量的错误和警告在 Xcode 项目中持续存在。

当我运行此命令以确认规则的应用时:

我得到错误:

请问我该如何解决这个问题?

0 投票
2 回答
1630 浏览

swift - 如何仅为 git diff 文件运行 swiftlint

我正在开发一个 iOS Swift 项目。Git 被用于版本控制。我只想swiftlint为新更改的文件运行工具。换句话说,我只想检查直到上次提交之前已编辑的文件的静态问题。如果可能,我会将脚本添加到 中Build phase -> Run script,以便每个开发人员都可以仅找到他们正在处理的文件的静态问题。可能吗?

0 投票
3 回答
2147 浏览

swift - SwiftLint 导致构建失败

我在构建阶段使用 swiftlint - 运行脚本。由于 swiftlint 错误,构建失败。如何继续成功构建但仍想在我的项目中生成 swiftlint 注释(即错误、警告)?

在此处输入图像描述

0 投票
1 回答
240 浏览

swift - 全局禁用某些方法上的 SwiftLint multiline_arguments

是否有可能multiline_arguments仅在某些类/方法上禁用规则?

我可以写

但是我必须在每次通话中都写它,而这正是我想要避免的。

0 投票
1 回答
1191 浏览

ios - Git 相对路径问题 - 在路径中找不到 lintable 文件

我在 git 版本控制系统下有一个 iOS/Swift 项目。层次结构如下,

如您所见,我的git_root目录包含文件夹中的一些其他文档docs以及实际的项目目录。

swiftlint我已经使用自制软件安装在我的 Mac 中,

当前安装 swiftlint 的位置是,

当我运行下面添加的脚本时Build phase -> Run scripts,发生了奇怪的事情,

脚本:

问题:

一些 swift 文件由 echo 打印,但swiftlint找不到文件并产生以下错误,

在路径中找不到 lintable 文件:''

例如,下面是构建日志的输出,

swiftlinting 文件 project/a.swift

在路径中找不到 lintable 文件:'project/a.swift

但是当我cd home/user/git_root在脚本的开头申请时,它可以完美运行。但是我不知道 git 的实际根目录,因为其他队友可能会自己重命名它,所以我不能在脚本中使用硬编码路径。

为什么会在脚本的同一目录中git diff生成无法识别的文件路径?swiftlint我怎么解决这个问题?

可选信息:

该脚本的目的是仅在新修改的未暂存的 swift 文件中运行 swiftlint。另请注意,我没有使用任何.swiftlint.yaml文件进行 swiftlint 配置。