解决重叠的依赖关系(比方说 RxSwift)
Resolving overlapping dependencies (let's say RxSwift)
我有:
App
取决于 Framework A
Framework A
取决于 RxSwift v1.0
App
取决于 RxSwift v2.0
是否可以使用 CocoaPods, Carthage, SwiftPM
解决此问题?怎么样?
或者我应该对齐 RxSwift
的这些版本?
相关问题:
- Using two versions of a Cocoapod dependency(过时)
- https://forums.raywenderlich.com/t/best-practice-on-handling-multiple-versions-of-nested-rxswift-community-dependencies-cocoapods/119252
在 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 链接到相同的应用程序可执行文件)实际上是一个不存在的选择——因此毕竟不是一个选项。
我有:
App
取决于Framework A
Framework A
取决于RxSwift v1.0
App
取决于RxSwift v2.0
是否可以使用 CocoaPods, Carthage, SwiftPM
解决此问题?怎么样?
或者我应该对齐 RxSwift
的这些版本?
相关问题:
- Using two versions of a Cocoapod dependency(过时)
- https://forums.raywenderlich.com/t/best-practice-on-handling-multiple-versions-of-nested-rxswift-community-dependencies-cocoapods/119252
在 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 链接到相同的应用程序可执行文件)实际上是一个不存在的选择——因此毕竟不是一个选项。