标签: swift-package-plugin

运行 Swift Package Plugin 时 Xcode Cloud 无写入权限

我有这个插件

struct Main: BuildToolPlugin {
  func createBuildCommands(context: PluginContext, target: Target) async throws -> [Command] {
    let inputFolder = target.directory.appending("Image")
    let output = context.pluginWorkDirectory.appending("GeneratedImageAssets.swift")
    return [
      .buildCommand(
        displayName: "Running ImageAssets parser",
        executable: try context.tool(named: "ImageAssetsParser").path,
        arguments: [inputFolder.string, output.string],
        environment: [:],
        inputFiles: [inputFolder],
        outputFiles: [output]
      )
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

ImageAssetsParser是一个executableTarget快速代码,用于扫描文件夹并将它们写入output插件发送的文件夹中。

虽然在本地它可以正常工作,但在 Xcode Cloud 上我收到权限错误:

在此输入图像描述

奇怪的是,我还有一个prebuildCommand插件,它使用swiftgen, 作为 anartifactbundle并且它工作正常,它写在同一个文件夹中。

我错过了什么吗?

swift swift-package-manager xcode-cloud swift-package-plugin

6
推荐指数
1
解决办法
353
查看次数