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

regex - 用于杂注标记的 SwiftLint 规则

我正在尝试实现自定义 swiftlint 规则以跟踪“// MARK:”之前的时间少于两个新行。我不擅长正则表达式。这是我的规则:

但是这个正则表达式是错误的。我做错了什么?也许 swiftlint 已经有这个规则了?但我找不到

0 投票
1 回答
41 浏览

github - 从 github 获取最新的 pkg

我使用这个脚本在 travis 上安装 swiftlint:

如果在此脚本中需要,这不是始终更新它的最佳方式 - 是否可以始终指向最新发布的 pkg?

0 投票
3 回答
84 浏览

swift - 在大型 Swift 代码库中用“.do(onComplete: {})”系统地替换“.doOnComplete {}”的最简单方法是什么?

什么是最好的替换方法:

整个大型 Swift 代码库?鉴于有大量这些手动替换不是一种选择。

0 投票
1 回答
532 浏览

ios - SwiftLint:无法将“Swift.Int64”类型的值转换为“Swift.String”,构建 SwiftLint

我正在将 Swiftlint 与我在 Xcode 9、Swift 4 中的项目集成。

我用 Cocoapods 安装了 swiftlint。我的 Podfile 看起来像这样:

尝试构建项目时,我看到此错误:

无法将“Swift.Int64”(0x10ff35f80)类型的值转换为“Swift.String”(0x10ff3c4d8)。

pods中安装的版本是0.25.1 为什么会这样?

0 投票
20 回答
89848 浏览

swift - “${PODS_ROOT}/SwiftLint/swiftlint”使用 Xcode 10 导致“Command PhaseScriptExecution failed with a nonzero exit code”

从 Xcode 10.0 beta 2 更新到Xcode 10.0 beta 3我现在在构建 iOS 项目时收到此错误:

sourcekit:[1:connection-event-handler:10499:0.0000]连接中断sourcekit:[1:updateSemanticEditorDelay:10499:0.0007]禁用语义编辑器10秒sourcekit:[1:pingService:10499:0.0007] pinging servicesourcekitten:与SourceKitService的连接已恢复!
连接中断
永远不要为 sourcekitd 失败的文件调用它。:文件 File+Cache.swift,第 127 行
/Users/Coeur/Library/Developer/Xcode/DerivedData/My-App-eloayqptodupvfhbyegtkncnhcpu/Build/Intermediates.noindex/My-App。 build/UAT-iphonesimulator/My-App-Debug.build/Script-379156A71D62F5C100574D04.sh:第 2 行:34382 中止陷阱:6“${PODS_ROOT}/SwiftLint/swiftlint”
命令 PhaseScriptExecution 失败,退出代码为非零

Swift 4.1
CocoaPods 1.5.3
SwiftLint 0.26.0

0 投票
3 回答
7038 浏览

ios - 从 SwiftLint 配置中排除 Pod

我正在通过 Cocoapods 将 SwiftLint 集成到现有项目中。

我的项目目录是这样的:

还有我的 .swiftlint.yml,因为我试图排除 pod:

我真的不明白它将“项目”标签解析为什么,所以我在这里抓住稻草来排除 .swiftlint.yml 文件所在级别的 Pod 目录。我尝试将 .swiftlint.yml 向上移动一个级别,因此它与 /AppName 和 /Pods 并排放置,但是无论我在包含的内容上进行了什么更改(我认为不需要更改,因为我认为它递归工作),swiftlint 会声称没有 lintable 文件,所以我对下一步感到茫然。

0 投票
2 回答
5771 浏览

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

问题

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

代码

.swiftlint.yml

构建阶段运行脚本

项目结构

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

问题

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

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

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

0 投票
2 回答
5780 浏览

ios - Swiftlint 自动更正命令不起作用

我已经使用 cocoapods 安装了 swiftlint,它工作正常

但是当我尝试swiftlint autocorrect在终端中使用命令时,它给出了以下错误

我是否需要进行任何其他设置才能使命令在终端中工作?

注意:由于 Mac 上的一些限制,不能使用 SwiftLint 包。

0 投票
1 回答
63 浏览

swift - 匹配“com.project.name”,但不匹配包含其他内容

我有以下代码:

我有一个正则表达式:

匹配任何不包含"com.project.name".

但是,我想将其修改为仍然具有上述条件,但如果该行包含print\(.*?\)and则不是fatalError\(.*?\)

我为什么要这样做?因为我只能将正则表达式用于 SwiftLint 自定义规则,而现在我的正则表达式是贪婪的,并且匹配项目中开发人员忘记本地化的每个字符串。

我试过的:

"((?!com\\.project\\.name).)*(?!print)(?!fatalError)"

但它不起作用,而是与原始表达式匹配。

0 投票
0 回答
767 浏览

swift - 自定义 Swiftlint 规则,使 Xcode 警告(如折旧)成为错误

我的项目确实有大约 3000 个警告,我的动机是让我们的 Xcode 项目没有警告。我刚开始使用 swiftLint,由于 string.characters.count 已折旧,我想让每次折旧都成为错误,但要逐步进行。我想让它变得增量,所以首先我想专注于“.characters”。整个应用程序的使用删除。即使我可以在项目中搜索并删除它,但同时我确实想设置一个规则,以后没有其他开发人员使用它。我在我的 yml 文件中尝试了下面的代码,但是 Xcode 在编译时没有给出任何关于 .characters 使用的错误。我想我使用了不正确的正则表达式。有谁知道自定义规则或正则表达式有什么问题?