我正在使用 Xcode 11(beta 5)创建一个新的 iOS 应用程序,并且我想使用 Swift Package Manager 而不是 CocoaPods 来管理依赖项。
使用 SwiftLint 和 CocoaPods 时的常见模式是将 SwiftLint 添加为依赖项,然后添加构建阶段来执行${PODS_ROOT}/SwiftLint/swiftlint
;这样所有开发人员最终都会使用相同版本的 SwiftLint。
如果我尝试在 Xcode 中添加 SwiftLint 作为 SwiftPM 依赖项,我需要的可执行目标将被禁用:
我可以通过创建一个假人来伪造它Package.swift
没有产品或目标,并且正在运行swift run swiftlint
在我的构建阶段,但感觉就像一个黑客:
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "dummy-package",
products: [],
dependencies: [
.package(url: "https://github.com/realm/SwiftLint.git", from: "0.34.0")
],
targets: []
)
有没有办法在不创建虚拟包的情况下做到这一点?或者 Swift Package Manager 不是适合这个特定用例的工具吗?
我使用的是 Xcode 14.3。您可以将 SwiftLint 作为 Swift 包集成到您的项目中。
-
在您的项目中,导入 SwiftLintPackage Dependencies
部分。
要添加的 SwiftLint GitHub url:https://github.com/realm/SwiftLint.git
-
加载包后,系统会要求您添加SwiftLintFramework
and/or swiftlint
.
不要勾选方框。只需点击Add Package
button.
-
转到您的 Xcode 项目目标并进入Build Phases
tab:
单击+
按钮下Run Build Tool Pug-ins
。
从那里添加SwiftLintPlugin
.
-
构建您的项目,Xcode 会要求Trust & Enable All
插件。
单击此按钮可启用 SwiftLint 插件。
SwiftLint 现在正在处理您的 Xcode 项目,您应该会看到触发的警告和错误。
您可以通过添加自定义规则来添加.swiftlint.yml
文件到项目的根目录。然后您可以使用所需的规则编辑此文件。有关您可以添加的规则的更多见解,请查找SwiftLint 规则 https://realm.github.io/SwiftLint/rule-directory.html。
有关如何设置自定义规则的示例,您可以查找Configuration
SwiftLint 包索引部分文档 https://swiftpackageindex.com/realm/SwiftLint.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)