类MyClaseName在A.Framework和B.Framework中实现

时间:2015-02-26 14:46:23

标签: c++ ios linker ios-frameworks

我有iOS应用程序,它使用框架A和B.每个都需要MyClaseName类。

运行应用程序后,我在日志中有以下警告:

  

objc [2472]:类MyClaseName在两者中实现   /Users/myusername/Library/Developer/Xcode/DerivedData/workspace-amvqjwzykbswydebvpvdfbylgsck/Build/Products/Debug-iphonesimulator/A.framework/A   和   /Users/myusername/Library/Developer/Xcode/DerivedData/workspace-amvqjwzykbswydebvpvdfbylgsck/Build/Products/Debug-iphonesimulator/B.framework/B。   将使用两者之一。哪一个未定义。

我已检查过类似的SO question,但不幸的是,这不是我的情况。

那么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是将指定前缀添加到代码中所有类的原因。

A.framework的类应该以AF为前缀,而B.framework应该使用BF,例如:

AFClassName *aInstance = [AFClassName new];
BFClassName *bInstance = [BFClassName new];

如果没有前缀,这两个类都会被有效地称为“ClassName”,并会导致您看到的那种冲突。