背景故事:当我有一个依赖于外部库的应用程序时,我的 pod 都可以正常工作,但是在添加共享扩展后我遇到了问题。
为了在应用程序和扩展程序之间共享我的依赖项和核心代码,我将核心代码提取到一个单独的 Cocoa Touch 框架中。但是,我现在遇到了我的 pod 依赖项的问题。
通过反复试验,我遇到了各种问题:
- Pod 安装错误:[!] 'XXX' 目标具有名称冲突的框架:alamofire、gtmsessionfetcher、googletoolboxformac、kingfisher、mixpanel、protobuf、realm、realmswift、result、rxcocoa、rxswift、swiftyjson 和 nanopb。
- 没有这样的模块错误:Pods 安装成功,但我在应用程序扩展中收到外部 pod 依赖项的错误
- 崩溃:一切看起来都已安装,但在运行时,由于安装了多个版本的依赖项以及应用程序在版本之间切换,我遇到了崩溃。
我应该如何将我的 Podfile 构建为:
- 在 Core、App 和 Extension 目标之间共享一些 pod(例如 RxSwift/RxCocoa)
- 仅在核心目标中保留一些 pod(例如 Alamofire)
- 仅在 App + Extension 目标中保留一些 pod(例如 Mixpanel-swift)
当前 Podfile 尝试: https ://gist.github.com/yahmad/ccc3cd0d882dabd3c76622e45cfe90eb