Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_MailDetailsV", referenced from: XXX
今天在自己的电脑上编译一份别人的代码时遇到这个经典的编译错误,相信很多人也遇到过,我按照常规的办法处理后问题仍重复出现,各种百度谷歌都是无补于事,百思不得其解;花了一个多小时,最终问题还是得以解决了,在此分享解决该问题的经验。
1,大部分情况下是因为忘记添加系统某些库文件或自定义类文件导致的,解决方法是添加对应的文件即可,如果是缺少自定义文件OBJC_CLASS$_后面跟的是类名,那么到compile sources中添加缺省文件:TARGETS -- Build Phases-- Compile Sources ;若缺少类库,则到Link Binary With Libraries中加入对应类库即可。
2,文件路径缺失,检查工程文件路径是否正确: TARGETS -- Build Settings -- Search Paths
3,若1、2都无法解决问题,那么最终解决方案是:
1)清理Xcode缓存
rm -rf ~/Library/Developer/Xcode/DerivedData/
2)清理CocoaPods缓存
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod update
3)最后将Build
Active Architectures Only 设置为NO