对于iOS开发来说,这是灰常常见的一种错误,为了方便以后的需要,总结下Google和Stack Overflow上面的解决方案。
- 检查Build Phases->Compile Sources中是否有重复的.m/.mm/.c等等,删除之。
检查当前Project的文件(一般是第三方导入的库文件)是否有重复,删除之。
检查Build Phases->Link Binary With Libraries,是否重复。 - 搜索错误提示框中的duplicate symbols对应的xxx.o文件的文件名,找到是否有#import xxx.m之类的低级错误,改为.h。
duplicate symbol _someVariablesDuplicated in:
/Users/Macbook/Library/Developer/xxx.build/Objects-normal/x86_64/xxx.o
- 检查duplicate symbols后面的(此例为变量)_someVariablesDuplicated,搜索someVariablesDuplicated(注意去掉下划线再搜),检查是否有重定义。
来自其他论坛各式各样的答案,没有尝试过(我遇到的问题是第三种错误解决方案):
- Build Settings->Linking->Other Linker Flags,添加-all_load,删除其他值,如-Objc等。
- Build Settings->Architectures->Valid Architectures,去掉armv7s。
- Build Settings->Build Options->Enables Bitcode设置为No。
欢迎补充,wish enjoy coding