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