问题标签 [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 投票
3 回答
1939 浏览

xcode - Xcode 10、sourcery 和 swiftlint 构建阶段顺序

更新到 Xcode 10 后,初始项目配置存在一些问题。步骤如下所示:

  1. 使用Sourcery生成一些文件
  2. 使用SwiftLint进行检查
  3. 建造

配置工作如下:

在此处输入图像描述

这在 Xcode 9 中运行良好,但显然,它在 Xcode 10 构建系统下不起作用。问题是如果我下载存储库(.generated文件不是存储库的一部分)。点击build它会显示如下结果:

... 使用 '.sourcery.yml' 中的配置文件扫描源... 找到 239 种类型。正在加载模板... 已加载 9 个模板。生成代码...完成。处理时间 0.491948962211609 秒...

所以 sourcery 工作正常,然后 linting:

Linting 'FromResponse.generated.swift' (1/186)

工作正常以及过程,但最终,构建将失败:

错误:找不到构建输入文件:'/path/Generated/FromResponse.generated.swift', ...

所以这很奇怪,因为文件物理存在并且根据构建设置文件应该在生成它们之后编译。那么我应该如何在构建过程中处理 sourcery 呢?

0 投票
3 回答
6097 浏览

swift - 为测试目标/单元测试文件禁用一些 SwiftLint 规则

我希望为我的应用程序中的单元测试禁用一些 SwiftLint 规则。

例如,我想weak_delegate为我的单元测试禁用规则。

看过 SwiftLint 文档后,我认为可以通过定义自定义的 weak_delegate 规则并排除单元测试的路径来实现。

https://github.com/realm/SwiftLint#defining-custom-rules

0 投票
1 回答
4438 浏览

swift - 将 swiftLint 添加到项目后运行 pod install 时出错

长话短说

我正在尝试使用 cocoapods 将 SwiftLint 添加到我的项目中,但是在添加运行脚本后,我无法执行pod install并且pod update没有错误。

每次执行时pod install我都会收到错误

现在完整说明

从使用 SwiftLint 的过程开始,我将它添加到我的 podfile

然后我安装我的 pod 没有任何错误。

在此之后,我添加.swiftlint.yml文件:

在这一点上,我仍然能够执行pod install并且pod update喜欢魅力,但是 SwiftLint 配置仍然错过了最后一步工作。

添加运行脚本后

SwiftLint 开始工作,但是,正如我在问题开头所说,我无法运行pod install并且pod update

版本数据

红宝石版本:红宝石2.5.1p57(2018-03-29修订63029)[x86_64-darwin18]

cocoapods 版本:1.5.3

SwiftLint 版本:0.27.0

知道如何解决此错误吗?

0 投票
0 回答
580 浏览

xcode - Xcode 10 的 SwiftLint 扩展

我想将 swiftLint for Xcode 添加到扩展中,并根据此安装说明,我要做的第一步是去终端并编写:

我得到了:

sudo:/usr/libexec/xpccachectl:找不到命令

所以我无法将它安装到 Xcode 10。

这个 repo 是 8 个月前更新的,所以它适用于 Xcode 9.1,如果将它用于 Xcode 10 真的是个好主意?

我应该怎么做才能为 Xcode 10 安装 SwiftLint 扩展?

0 投票
1 回答
1573 浏览

ios - 如何使用特定的 .swiftlint.yml?swiftlint 在根路径上命中它。

如何使用特定的 .swiftlint.yml?

swiftlint 在根路径上命中它。即使我在子路径中放了另一个 .swiftlint.yml 。

我可以在 swiftlint github 上看到以下描述。

每个文件都将使用其目录中或其父目录最深处的配置文件进行检查。否则将使用根配置。

我使用了 --config 选项,但它不起作用...

0 投票
2 回答
560 浏览

ios - 从框架中的协议中抑制变量名称长度

我们在我们的 iOS 应用程序中使用广告框架,并将 SwiftLint 集成为代码的一部分。我们注意到 Ad 框架中的一些协议具有可变长度 2。示例是:

由于可变长度为 2,SwiftLint 会发出警告。如何在 yml 文件中抑制这些警告?或者有没有更好的方法来处理这些警告?

0 投票
1 回答
7000 浏览

swift - Swiftlint 中的“Type Body Length”到底是什么意思?

我们刚刚将 Swiftlint 添加到我们的项目中,我们希望遵守所有规则,但我不确定“type_body_length”警告是什么意思。我不是以英语为母语的人,所以我觉得这有点令人困惑。

文件长度也有规则,那么它们有何不同?什么属于这个定义?

在此处输入图像描述

0 投票
1 回答
888 浏览

ios - 使用 swift lint 进行 lint 时不排除 pod

我已将 swiftLint 添加到我的项目中,还添加了 .swiftlint.yml 文件,其中包含所有规则,但某些文件规则在我的项目中不起作用,例如排除和行长。我想从 Linting 中排除 pod,所以我在 .swiftlint.yml 文件中添加了以下代码

excluded: # paths to ignore during linting. Takes precedence over包括. - Carthage - Pods

在我的 .yml 文件中,但 pods 仍然没有被忽略。

任何人都知道我在哪里做错了。

提前致谢

0 投票
2 回答
3576 浏览

ios - 如何在 swiftlint 配置文件中禁用字符限制

我正在做一个项目,我需要如何禁用 swiftlint 配置文件中的字符限制,那么如何禁用字符限制?

这是swiftlint文件

0 投票
4 回答
7571 浏览

swift - Swiftlint 下划线名称 swift

swiftlint在我的项目中使用。项目名称是ABC xx,它适用于 swiftlint。现在我决定将其包含Unitest在我的应用程序中,并且我必须导入@testable import ABC_xx到 swift 测试文件中,这class ABC_xxTests: XCTestCase {不是我在 Swiftlinter 中遇到的错误,它说明Type Name Violation: Type name should only contain alphanumeric characters: 'ABC_xxTests' (type_name)了如何对这个错误进行排序