XCode SPM - 找不到包 [package] 目标 [target] 所需的产品 [product]

Lev*_*dze 4 xcode ios swift swift-package-manager

我在我的项目中使用 SPM 并希望集成Texture。我的项目使用SPM分为不同的模块。我只想在其中一个中使用纹理。

问题是Texture不支持SPM。我从这个支持 SPM 的PR中分叉出来的。我已成功将纹理集成到我的项目中,但无法使用它。

我的Package.swift

let targets: [Target] = [
    .target(name: "MyTarget", dependencies: ["Texture"]),
]

let package = Package(
    name: "MyPackage",
    platforms: [.iOS(.v14), .macOS(.v10_15)],
    products: targets.filter { !$0.isTest }.map { .library(name: $0.name, targets: [$0.name]) },
    dependencies: [
        .package(name: "Texture", url: "https://github.com/bejeri4/Texture.git", .branch("spm")),
    ],
    targets: targets)
)
Run Code Online (Sandbox Code Playgroud)

当我将纹理作为依赖项添加到本地包时,出现以下错误:

找不到包“MyPackage”目标“MyTarget”所需的产品“纹理”。

Chr*_*nis 7

我认为在目标的依赖项中,您需要指定包纹理的产品,而不是包名称本身。产品是 AsyncDisplayKit 和 AsyncDisplayKitIGListKit:

因此,您应该修改目标以使用如下产品之一:

let asyncDisplayKit = Target.product(name: "AsyncDisplayKit", package: "Texture")

let targets: [Target] = [
    .target(name: "MyTarget", dependencies: [asyncDisplayKit]),
]
Run Code Online (Sandbox Code Playgroud)