gpt4 book ai didi

ios - 安装 Swift Package Dependency 时 SwiftLint 的路径应该是什么

转载 作者:行者123 更新时间:2023-12-05 04:44:05 26 4
gpt4 key购买 nike

我已经安装了 SwiftLint 和 Swift Package Dependancy。我已经按照手册中的描述在构建阶段添加了以下运行脚本:

if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

在运行我的项目时,我收到警告消息:

warning: SwiftLint not installed, download fromhttps://github.com/realm/SwiftLint

所以我猜你的系统找不到 swiftlint 可执行文件。如果与 Swift Package Dependency 一起安装,它位于何处?

最佳答案

你不能同时也可以。

“集成”在 Xcode 中的 Swift 包管理器 (SPM) 可用于将代码“嵌入”到您的应用程序中。不要嵌入可执行文件(如 Swiftlint)。

因此,解决方案是在您的应用旁边使用 SPM 创建一个“并行”项目。

在下面两个链接中有描述:

It's time to use Swift Package Manager
Using SPM for Xcode build phase tools

因此,我们的想法是使用 Swiftlint 构建一个 Package.swift,构建/运行它,然后它应该启动 Swiftlint。< br/>第一次,它将获取代码、构建然后运行。所以这可能需要一些时间。

这也是 SwiftFormat 在他们的 ReadMe 上给出的解决方案.

在这里应用,这里是文件层次结构。我添加了一个文件夹和一个文件。

MyProject:
.
├── BuildTools
│   └── Package.swift
├── MyProject
│   ├── .swiftlint.yml
│   ├── AppDelegate.swift
│   ├── Assets.xcassets
│   │   ├── AppIcon.appiconset
│   │   │   └── Contents.json
│   │   └── Contents.json
│   ├── Base.lproj
│   │   ├── LaunchScreen.storyboard
│   │   └── Main.storyboard
│   ├── Info.plist
│   ├── SceneDelegate.swift
│   └── ViewController.swift
└── MyProject.xcodeproj

构建阶段脚本中:

cd BuildTools
SDKROOT=(xcrun --sdk macosx --show-sdk-path)
#swift package update #Uncomment this line temporarily to update the version used to the latest matching your BuildTools/Package.swift file
swift run -c release swiftlint "$SRCROOT" --config ../MyProject/.swiftlint.yml --path ../MyProject

Package.swift 是:

// swift-tools-version:5.5
import PackageDescription

let package = Package(
name: "BuildTools",
platforms: [.macOS(.v10_11)],
dependencies: [
.package(url: "https://github.com/Realm/SwiftLint", from: "0.44.0")
],
targets: [.target(name: "BuildTools", path: "")]
)

由于我们正在创建另一个项目,并没有利用集成的 Xcode 集成解决方案,因此使用 MintHomeBrew 等解决方案可能会更好。 Mint例如,是一个“完整的 SPM 工具”。如果您有更多的工具,将它们集中到一个中可能确实是一个很好的解决方案。

关于ios - 安装 Swift Package Dependency 时 SwiftLint 的路径应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69449804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com