【发布时间】:2019-12-19 01:34:27
【问题描述】:
我正在 Xcode 11(beta 5)中创建一个新的 iOS 应用程序,我想尝试使用 Swift 包管理器而不是 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 包管理器不是这个特定用例的正确工具?
【问题讨论】:
-
FWIW:目前有一个new/future/accepted feature 是 WIP,这将使我们能够做你想做的事情,甚至更多。让我们希望它很快就会来到我们身边!
标签: ios xcode11 swift-package-manager swiftlint