duplicate symbol _OBJC_CLASS_$_
2016-05-02 本文已影响3620人
知忧丶
假设出问题的类是Model类
1.由于疏忽,导入了.m
文件
解决方案:在项目内搜索#import "Model.m"
,如果有直接改为.h
文件,问题通常在在代码区。

2.同一个类实现了两次,即有两个@implementation
,这种情况通常是合作开发过程中,创建了两个同名类,肯定不在同一个文件夹,搜索#import "Model.h"
,直接查看搜索出来的目录,看是不是一个类被创建了两次,有同名的两个.m
,.h
文件,协商删除一个即可。


3.Targets的Build Phase设置项里,查看Complie Sources这一项,同一个文件被引入两次。
在Complie Source 下搜索重名文件,如果有就删除一个,如果再报OBJC_CLASS_$_XXXX",referenced form
,再次在Complie Source中重新导入这个文件的.m
文件就可以了。

4.如果我们的工程中引用了第三方的库,而恰好第三方的库里面有一个同名文件,如果以上方案都解决不了可以尝试重命名该类。
这个问题自己解决,名字看你心情了。
5.其他,希望小伙伴将问题详情和解决方案发给我。