我收到了这个警告:
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的消费者也会用到它)。
我需要以.framework形式分发MyFramework(作为闭源)。然而,这意味着MyFramework将CoolPod嵌入其编译库中。
当我将MyFramework和CoolPod导入到MyApplication中时,我会得到这个冲突(输出如上所示的警告),因为CoolPod的类已经包含在MyFramework的库中(因为CoolPod被嵌入其中)。
所以我们有这个结构:
CoolPod -> MyFramework \
MyApplication
CoolPod /
问题
我该如何避免这个冲突?
- 是否有一种方法让我的应用程序提供CoolPod给MyFramework?
- 我是否必须通过MyFramework传输CoolPod的头文件?
我考虑过在MyApplication中包含CoolPod的头文件(但不是库文件),但对于本应该是简单情况而言,这似乎过于复杂。
非常感谢任何帮助,这真的阻碍了我。
谢谢,
Indigo