首页 > 解决方案 > Cocoapods 共享依赖

问题描述

我正在重构一个单体代码库并想将其拆分为框架,我目前的情况如下:

以上所有内容都在同一个工作区中,并且每个都有自己的 pod:

一切正常,但在应用程序启动时,我在日志中看到每个框架有多个(两个)定义,例如:

RxSwift is implemented in both 'app' and 'frameworka', which implementation will be used is undefined

(尝试了“不嵌入”和“嵌入并签名”)

有任何想法吗?如果它有助于解决问题,我也可以切换到其他一些包管理器......

提前致谢!

我的 Podfile 看起来像这样:

platform :ios, '11.0'
use_frameworks!

workspace 'App'

project 'App/App'
project 'FrameworkA/FrameworkA'
project 'FrameworkB/FrameworkB'
project 'FrameworkC/FrameworkC'

target 'Appp' do
  project 'App/App'
  pod 'Firebase'
  pod 'Firebase/Core'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
  pod 'Firebase/RemoteConfig'
  pod 'CryptoSwift'
  pod 'RxSwift'
  pod 'RxCocoa'
end

target 'FrameworkA' do
  project 'FrameworkA/FrameworkA'
  pod 'Firebase'
  pod 'Firebase/Core'
  pod 'Firebase/Analytics'
  pod 'Firebase/RemoteConfig'
  pod 'RxSwift'
  pod 'RxCocoa'
end

target 'FrameworkB' do
  project 'FrameworkB/FrameworkB'
  pod 'RxSwift'
  pod 'RxCocoa'
end

target 'FrameworkC' do
  project 'FrameworkC/FrameworkC'
  pod 'RxSwift'
  pod 'RxCocoa'
end

标签: iosswiftcocoapodspackage-managers

解决方案


经过反复试验,我没有找到解决方案。我刚刚转向 Swift 包管理器,当发现重复的依赖项时,它确实会引发编译器错误(而不仅仅是控制台日志中的一行)。然后我意识到我可以删除依赖项,就是这样。


推荐阅读