解决重叠的依赖关系(比方说 RxSwift)

Resolving overlapping dependencies (let's say RxSwift)

我有:

是否可以使用 CocoaPods, Carthage, SwiftPM 解决此问题?怎么样?

或者我应该对齐 RxSwift 的这些版本?

相关问题:

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html 中标题为“运行时的兼容性版本号”的部分中,上下文和含义相当清楚,即 Xcode 链接器仅链接一个版本(并且它必须是旧版本,如果框架是动态链接的)。也就是说,所有的限定符都是单数的:没有将 2 个或更多版本链接到同一个应用程序中。所以看起来你正好有两个选择:

  • 升级框架 A 以利用 RxSwift 2.0
  • 放弃在您的应用中使用 RxSwift 1.0,以便在您的应用中使用 RxSwift 1.0(在您的整个应用中,框架 A 和您的 app-domain)

使用 Xcode 链接器无法选择为同一标识符链接 RxSwift 1.0 标识符和 RxSwift 2.0 标识符,所需的选择(将 2 个不同版本的 RxSwift 链接到相同的应用程序可执行文件)实际上是一个不存在的选择——因此毕竟不是一个选项。