我有这个插件
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