0

我当前的 iOS 13+ (xcode 12.5) 简化项目设置有一些嵌套依赖项,如下所示:

Alamofire.xcframework -- is linked into ->  Internal-Framework-A
Alamofire.xcframework -- is linked into ->  Internal-Framework-B

Internal-Framework-A -- is linked into -> AppTarget (actual application target)
Internal-Framework-B -- is linked into -> AppTarget

因为 Alamofire.xcframework 被链接到多个内部框架中,所以它会在没有实际嵌入的情况下被链接。这意味着 AppTarget 需要链接和嵌入 Alamofire.xcframework,以便内部框架可以在运行时动态链接它。

内部框架可以使用此设置正确编译,但 AppTarget 无法编译,并且出现以下错误: 多个命令产生...命令:ProcessXCFramework 及其原因:

  • 在编译时 AppTarget 会编译 Internal-Framework-A,它会触发 Alamofire.xcframework 的 ProcessXCFramework,但因为 AppTarget 也有 Alamofire.xcframework 作为依赖项,所以它也会运行 ProcessXCFramework 命令,因此对于同一个文件,我们将有 2 个命令。

我很想知道我是否缺少某些东西。看起来应该有一个标志让 xcode 处理一次相同的框架。

4

0 回答 0