大概就是找不到文件而导致错误
我们经常会遇到这种问题,下面对这种问题出现的情况进行一下简单的总结以及处理!
1.文件重复,build phases-- compile sources ---文件重复
2.三方的文件没有导入 build phases-- link binary With Libraries
3.把.m文件当.h #import 了
解决方法,就看问题处理!
不行的话,再试试下面的!!
1,看看是不是有新添加的文件跟之前文件同名
2,错误信息中出现了某个类的名字,去原文件中看看#import了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。
3.SVN或[Git](http://lib.csdn.net/base/git)忽略了某些文件,如.o 等文件没能update下来,查看.o文件可能是红色的,可以重新添加或者修改SVN(git)的忽略设置
4.把.a文件删除再重新拖到项目中解决问题
5.可能重复添加了文件(也可能没勾选 Copy items if neded 这个选项),建议删除后重新添加
6.工程中文件名重复了 也会出现同样的错误
7.”Build Settings”->”Enable Bitcode”设置为NO ,因为有些SDK不支持Bitcode
8.可能在引用的时候 可能写的是#import "XXXXX.m" ,如果是改为#import "XXXXX.h"
9.可能你导入的SDK只能在真机下才能运行,模拟器会报错!
10.一个类中自定义创建的父类没有implementation部分,在此基础上继承的子类就报这样的错误了
11.在不同的地方命名了相同的静态变量,不过这个真机调试不报错,模拟器运行的时候报错了。
关键的来了,我遇到了同样的额问题,实在更新了腾讯的sdk之后,并且错误的具体信息毛都没有。就上边那张图!我的内心真的是奔溃的,还好只是想着换库,没有在赶进度!
解决方法如下:
.找到Build settings->Linking->Other Linker Flags
将此属性修改成-all_load
以上方法未解决将此属性修改成-ObjC
一开始我的项目,这两个都设置了,我没有再处理,一直找不到问题所在,之后,我将两个都删掉,重新设置-all_load 奔溃,之后设置-ObjC就好了,至于为什么目前我也不清楚,待学习!