如何归档 Swift 包依赖项以将其包含在 XCFramework 中以作为 Swift 包进行二进制分发?

kna*_*f74 9 ios swift-package-manager

目标是为 Swift 包托管 git 存储库,以将专有代码作为 XCFramework 中的二进制文件分发。源代码依赖于其他 Swift 包。在 .package 配置中列出依赖项是不够的。简单地要求消费者导入依赖项并不是一个选择,因为他们可能在不同级别使用相同的包。我试图解决的主要问题是当我的 Swift Package 导入到项目中时如何解决这些依赖关系。

  1. 每个依赖包也应该归档并包装到 XCFramework 中,对吧?
  2. 我该怎么做呢?

我正在使用的包也可以在 CocoaPod 中找到。

  1. 将它们作为 pod 导入以进行存档会更容易吗?

我已经浏览了以下资源和 SO 帖子,但找不到此特定目的的答案。

kna*_*f74 1

在 Swift 论坛上找到了一种方法。有人建议使用“虚拟”目标来包装二进制框架。然后,您可以在清单中列出虚拟目标定义中的依赖项。

https://forums.swift.org/t/issue-with-third-party-dependency-inside-a-xcframework-through-spm/41977/2

我将二进制文件托管在 zip 中,SPM 和 Cocoa Pods 都可以使用它。使用框架二进制文件来处理这两个包管理器。