【发布时间】:2012-01-11 22:03:13
【问题描述】:
我的 Xcode 项目中有两个框架,它们都定义了一个同名的类(B.framework 和 C.framework 都有一个名为 MyClass 的类),导致出现如下警告:
Duplicate symbol _OBJC_METACLASS_$_MyClass originally in B.framework/B(MyClass.o) now lazily loaded from C.framework/C(MyClass.o)
Duplicate symbol _OBJC_CLASS_$_MyClass originally in B.framework/B(MyClass.o) now lazily loaded from C.framework/C(MyClass.o)
然后在运行时只加载一个实现,而尝试使用另一个将导致“无法识别的选择器发送到实例”,因为它们是完全不同的类(即使它们具有相同的名称)。
我直接在我的代码中使用其中一个 MyClass 实现,但另一个框架只在内部使用它的 MyClass 我不知道为什么它甚至导出(它甚至没有在框架头文件中提到,我使用nm 来查看符号)。
我怎样才能使这两个框架都工作?
【问题讨论】:
标签: objective-c ios xcode frameworks duplicates