ios - 类 X 在 <framework> 和 <application> 中都实现了,将使用两者之一,哪个未定义

标签 ios cocoapods ios-frameworks

我收到这个警告:

Class X is implemented in both <framework> and <application> one of the two will be used, which one is undefined

这个警告在网络上有很多报道,但我还没有找到任何可以回答我遇到的具体问题的东西。

场景

我已经构建了 MyFramework 和 MyApplication(作为 MyFramework 的测试/演示应用程序)。

MyFramework 使用 CocoaPod(我将其称为 CoolPod),我也想在 MyApplication 中使用它(假设 MyFramework 的消费者也会这样做是合理的)。

我需要能够将 MyFramework 作为 .framework(对于闭源)进行分发。然而,这意味着 MyFramework 在其编译库中嵌入了 CoolPod。

现在,当我将 MyFramework 和 CoolPod 导入 MyApplication 时,我遇到了这个冲突(输出上面显示的警告),因为 CoolPod 的类已经包含在 MyFramework 的库中(因为嵌入了 CoolPod)。

所以我们有这样的结构:

CoolPod -> MyFramework \
                        MyApplication
               CoolPod /

问题

如何避免这种冲突?

  • 有没有办法让我的 MyApplication 为 MyFramework 提供 CoolPod?
  • 我是否必须通过 MyFramework 传输 CoolPod 的 header ?

我考虑过在 MyApplication 中包含 CoolPod 的 header (但不是它的库),但是对于本应是简单的情况来说这似乎过于复杂。

非常感谢任何帮助,这现在真的让我很困扰。

谢谢,

靛蓝

最佳答案

对于闭源静态库,我们推荐 cocoapods-packager .不过我不确定它是否支持框架。

关于ios - 类 X 在 <framework> 和 <application> 中都实现了,将使用两者之一,哪个未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727455/

相关文章:

cocoapods - 新的 Mapbox iOS SDK 生成问题,当我安装任何 pod 时,它们都会显示问题

iphone - 当今最常用的跨平台移动应用程序开发框架是什么?

ios - 创建通用脂肪框架 lipo : can't create temporary output file

ios - 自定义单元格 UITextView 中的链接注册点击

xcode - "No such module ' Firebase '"//找不到FirebaseUI框架

ios - UiCollectionView 间距问题 - swift

ios - iOS 8 应用程序/框架中缺少必需的模块 'CocoaLumberjack'

CocoaPods 文件引用是多个组的成员

iphone - 任何更改 UIScrollView 的 zoomToRect 持续时间的方法?

iphone - 无限循环添加 subview