How to integrate SwiftLint with an iOS app using Swift Package Manager?
我正在Xcode 11(测试版5)中创建一个新的iOS应用程序,我想尝试使用Swift Package Manager代替CocoaPods来管理依赖项。
使用SwiftLint和CocoaPods时的常见模式是将SwiftLint添加为依赖项,然后添加一个构建阶段以执行
如果我尝试在Xcode中将SwiftLint添加为SwiftPM依赖项,则会禁用我需要的可执行目标:
我可以通过创建没有产品或目标的虚拟
1 2 3 4 5 6 7 8 9 10 11 | // 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不适用于此特定用例?
滥用iOS代码依赖管理器来运行构建工具的所有方法都是骇人听闻的。
版本兼容SPM的工具依赖关系的正确方法是使用Mint:安装和运行Swift CLI软件包的软件包管理器。 另请参阅"更好的iOS项目:如何使用Mint管理工具"。