如何修复 Xcode Cloud 中的“OpenAPIGenerator 已禁用”错误?

问题描述 投票: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
插件添加到此文件中。结果,我能够在本地成功构建该项目。 但是 Xcode 云失败并显示以下错误消息:

“OpenAPIGenerator”已禁用。

如何解决这个问题?

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

此处的解决方法是将名为

ci_scripts/ci_post_clone.sh
的文件添加到您的项目中,其中包含以下内容:

#!/usr/bin/env bash
set -euo pipefail

defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidatation -bool YES

检查此处,了解有关自定义构建脚本的更多信息。

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