这个bug只要开发一段时间的ios开发差不多都遇到过。现在归纳整理一下处理方法以供参考。
分析错误:duplicate symbol这个两个单词是关键,duplicate是重复重叠的意思,symbol是符号的意思。那么这个编译bug就有着眼点了,就是在工程中引入重复的东东。
一、第一种情况,也是常常遇见的
重复导入静态库,或者其他文件
处理方法很简单,那个文件.o报错,直接搜那个文件,多的删除
二、第二种情况,遇见不多但是也存在(存在即合理,那就是马虎)
在#import时引入的是.m不是.h;
处理方法就不用说了。
三、第三种情况,就是这次我遇到一个问题
OC中创建一个函数的有正规常用的
-(void)test{
}
也有非常规的
void test(){
}
第二种这样式的定义函数,基本上是全工程唯一的,也就是说如果在其他文件中也定义这么一个函数,那么不好意思,肯定会报出上面报错。
遇到这种情况,有这种函数或者static修饰的属性等等符号重复报错
处理方法:[编译报错会将两个或者多个冲突的文件列出来]给其中相同符号整成不一样就可以。
日常积累,希望能帮助到你!!!
网友评论