我有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,但不幸的是,这不是我的情况。
那么,我该如何解决这个问题?
答案 0 :(得分:0)
这是将指定前缀添加到代码中所有类的原因。
A.framework的类应该以AF为前缀,而B.framework应该使用BF,例如:
AFClassName *aInstance = [AFClassName new];
BFClassName *bInstance = [BFClassName new];
如果没有前缀,这两个类都会被有效地称为“ClassName”,并会导致您看到的那种冲突。