duplicate symbol _OBJC_CLASS_$_

作者: 知忧丶 | 来源:发表于2016-05-02 22:33 被阅读3620次

假设出问题的类是Model类

1.由于疏忽,导入了.m文件
解决方案:在项目内搜索#import "Model.m",如果有直接改为.h文件,问题通常在在代码区。

将名为Temp类的```.m```文件导入后会报错

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

模拟Temp类有两个实现,创建文件时不会直接报错,temp文件夹不是group 搜索文件,代码都可以,第一,第二种情况都是这么解决的

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

就是这个位置了,可以使用搜索框检查一下

4.如果我们的工程中引用了第三方的库,而恰好第三方的库里面有一个同名文件,如果以上方案都解决不了可以尝试重命名该类。

  这个问题自己解决,名字看你心情了。

5.其他,希望小伙伴将问题详情和解决方案发给我。

相关文章

网友评论

  • Dr_zhang:「求大神助攻」用了所有度娘的办法,都不了了之?
    duplicate symbol _streamGroupCallBack in:
    /Users/apple/Library/Developer/Xcode/DerivedData/MarsOne-hbbwoshxonoyjvgykrbldbsnoahz/Build/Intermediates/MarsOne.build/Debug-iphoneos/MarsOne.build/Objects-normal/armv7/SSUDPStreamCallBack.o
    /Users/apple/Library/Developer/Xcode/DerivedData/MarsOne-hbbwoshxonoyjvgykrbldbsnoahz/Build/Intermediates/MarsOne.build/Debug-iphoneos/MarsOne.build/Objects-normal/armv7/SSUDPClientGroup.o
    duplicate symbol _streamGroupCallBackObj in:
    /Users/apple/Library/Developer/Xcode/DerivedData/MarsOne-hbbwoshxonoyjvgykrbldbsnoahz/Build/Intermediates/MarsOne.build/Debug-iphoneos/MarsOne.build/Objects-normal/armv7/SSUDPStreamCallBack.o
    /Users/apple/Library/Developer/Xcode/DerivedData/MarsOne-hbbwoshxonoyjvgykrbldbsnoahz/Build/Intermediates/MarsOne.build/Debug-iphoneos/MarsOne.build/Objects-normal/armv7/SSUDPClientGroup.o
    ld: 2 duplicate symbols for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
  • 笑楔信:Xcode8.1下按照以前的方法创建coreData的ManagedObject后,报错,我建了Upload.xcdatamodeld,添加了实体student,之后编译报错duplicate symbol _OBJC_CLASS_$_Student in:
    /Users/thx03/Library/Developer/Xcode/DerivedData/BusinessAnalysisSGCC-fuxscljbiutattfaxujibingdnmr/Build/Intermediates/BusinessAnalysisSGCC.build/Debug-iphonesimulator/BusinessAnalysisSGCC.build/Objects-normal/x86_64/Student+CoreDataClass.o
    duplicate symbol _OBJC_METACLASS_$_Student in:
    /Users/thx03/Library/Developer/Xcode/DerivedData/BusinessAnalysisSGCC-fuxscljbiutattfaxujibingdnmr/Build/Intermediates/BusinessAnalysisSGCC.build/Debug-iphonesimulator/BusinessAnalysisSGCC.build/Objects-normal/x86_64/Student+CoreDataClass.o
    ld: 2 duplicate symbols for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    暂时没找到方法,希望高手有空看看
    cf78cbc68588:http://stackoverflow.com/questions/38409074/xcode-beta-8-cant-create-core-data
    第19个回答可以解决你的问题
    iOS成长指北:@笑楔信 看看我写的http://www.jianshu.com/p/4cff8bb9fc14今天填的坑
  • 极小光:感谢分享,欢迎关注专集:极光。
    互联网内幕、技术、八卦都在这里,快到碗里来。
    我一直在研究怎么把大家的好文章让更多的人看到,也希望你能来投稿我们一起努力传播。

本文标题:duplicate symbol _OBJC_CLASS_$_

本文链接:https://www.haomeiwen.com/subject/ikmlrttx.html