我收到此警告:
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时,由于在MyFramework的库中已经包含了CoolPod的类(因为嵌入了CoolPod),因此发生了冲突(输出上面显示的警告)。
所以我们有这样的结构:
CoolPod -> MyFramework \
MyApplication
CoolPod /
问题
我如何避免这种冲突?
我曾考虑过在MyApplication中包含CoolPod的 header (但不包括其lib),但是对于应该是简单情况的情况,这似乎过于复杂。
非常感谢您的帮助,这真的在阻止我。
谢谢,
靛青
最佳答案
对于闭源静态库,建议使用cocoapods-packager。我不确定它是否支持框架。