我正在尝试使用 Swift 包 Siesta 作为我正在构建的包的依赖项,并在我的包代码中引用它。我已经确定了如何将包导入到我的Package.swift
文件中的项目中,这很简单:
dependencies: [
.package(url: "https://github.com/bustoutsolutions/siesta", from: "1.5.1")
],
这会导致包被复制到我的包中就好了。我遇到的问题实际上是将它链接到我的包,所以我可以import
它并在代码中引用它。我知道我需要将它实际链接到我的目标
我已经阅读了一些其他的包文件,因为 Siesta 的包名是这样的
let package = Package(
name: "Siesta",
而且它申报的产品是这样的
products: [
.library(name: "Siesta", targets: ["Siesta"]),
.library(name: "SiestaUI", targets: ["SiestaUI"]),
.library(name: "Siesta_Alamofire", targets: ["Siesta_Alamofire"]),
],
我应该能够在我的包文件的目标中执行此操作以使用它
.target(
name: "MyTarget",
dependencies: [.product(name: "Siesta", package: "Siesta")]),
但是当我尝试构建我的包时,我收到一个错误:
/Users/blahblah/Desktop/MyPackage/Package.swift:目标“MyTarget”的依赖项中的未知包“Siesta”
不仅如此,我的包上的单次运行方案的所有目标都丢失了,如果不丢弃所有本地版本控制更改,我就无法再次构建。这里发生了什么?