添加 OpenAPIGenerator 插件以使用 SPM 在 Xcode 中运行构建工具插件时遇到问题

问题描述 投票:0回答:1

我在我的项目中使用

SPM
,并尝试集成Apple/swift-openapi-generator。我的项目分为几个模块,我使用的是
SPM
。为了管理依赖关系,我有一个
Package.swift
文件。

// swift-tools-version:5.8

import Foundation
import PackageDescription

let openAPIRuntime = Target.Dependency.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime")
let openAPIURLSession = Target.Dependency.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession")
let openAPIGenerator = Target.PluginUsage.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")

let targets: [Target] = [
    .target(
        name: "OpenAPIClient",
        dependencies: [openAPIRuntime, openAPIURLSession],
        plugins: [openAPIGenerator]
    ),
    //...
    ]

let package = Package(
    name: "Modules",
    platforms: [.iOS("16.0"), .macOS(.v11)],
    products: targets.filter { !$0.isTest }.map { .library(name: $0.name, targets: [$0.name]) },
    dependencies: [
        .package(url: "https://github.com/apple/swift-openapi-generator", from: "0.1.0"),
        .package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.0.0"),
        .package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.0.0"),
        //...
    ],
    targets: targets
)

如所示,我已将

openAPIRuntime
openAPIURLSession
产品以及
openAPIGenerator
插件添加到此文件中。结果,我能够成功构建该项目。

现在,我想在

openAPIGenerator
->
MyTarget
->
Build Phases
中添加
Run Build Tool Plug-ins
插件,但是当我按下
+
按钮时,我找不到
openAPIGenerator

如何解决这个问题?

ios swift openapi swift-package-manager openapi-generator
1个回答
0
投票

您可能在主项目中添加了不同版本的 OpenApi 包,就像您在

Package.swift
中添加的那样。

正如您所写,您在

"0.1.0"
文件中添加了
Package.swift
。确保您在应用程序中添加相同的版本:

Xcode 默认使用这个:

© www.soinside.com 2019 - 2024. All rights reserved.