iOS - xcode经常报的经典error解决办法大全

2018-05-04 19:15:14 浏览数 (1)

1.错误信息:

代码语言:javascript复制
2015-10-28 10:39:55.933 XFW[2696:55982] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-3347.44.2/UITableView.m:7524
(lldb)

错误原因: 返回cell的代码放在括号的范围不对,看下周围代码的作用域。有时括号太多,容易放错代码。

2.错误信息:

代码语言:javascript复制
(1)reason: ‘-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0xb000000000000043‘
代码语言:javascript复制
(2)reason:-[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000000029a3

错误原因:NSString和和NSNmuber没有转换,直接报错!

3.错误信息:

Could not load the "" image referenced from a nib in the bundle with identifier "com.xfw.leo"

错误原因:xib里的控件跟类拖线相关联了,但是直接删掉控件之后,线还在的,所以报错!

4.错误信息:

linker command failed with exit code 1 (use -v to see invocation)

错误原因:命名了两个相同名字的类或者找不到.m类文件,要导入。

5.错误信息:

<__NSArrayM: 0x7fca5d175890> was mutated while being enumerated.

错误原因:给数组赋值,同时又修改数组里的值

6.错误信息:

‘NSInvalidArgumentException‘, reason: ‘*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]

错误原因:使用[__NSPlaceholderDictionary initWithObjects:forKeys:count:]这个初始化方法,发现keys count和objcects的个数不匹配了。在使用@{@”key”:value} 这种方式初始化的时候,一定要对value做是否为nil的判断,为nil就不要加入Dictionary

7.错误信息:project 冲突或者类文件冲突出现红色错误

错误原因:两个人同时修改、删除了项目的结构或者代码。 在showInFinder里把冲突文件删掉,在类文件和project里删掉多余的< < < === 然后点击svn的resolve。

8.错误信息:

原因:1. 在showInFinder里有类,但是左侧栏没有导入类。

2.m文件被误删了

3.引入第三方库的时候.m文件没添加进去编译!或framework没添加进去。

9. 错误信息:ARC出现的红色警告

解决办法:

10、错误信息:.implicit declaration of function”” is invalid in c99

错误原因: 少写了block的回调

11、错误信息:The operation couldn’t be completed. (LaunchServicesError error 0.)

办法:reset下模拟器

12、错误信息: 报"_OBJC_CLASS_$_XXXService", referenced from: 的红色错误

Undefined symbols for architecture i386:

"_OBJC_CLASS_$_xx文件名", referenced from:

下面是可能导致这类问题出现的原因及修改:

(1).相关工程文件未导入

你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操作工程时,一般这种解决办法)

(2)..framework文件未导入

把xx文件库+进来,本问题"_OBJC_CLASS_$_ASIdentifierManager", 就是因为AdSupport.Framework类库未加

(3).文件路径缺失,检查是否某些文件路径未加入进来或者写错了

工程编译报出:Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:错误,问题大致是由于上面这几种情况,把各个方面检查下基本就ok了。

(4)本地删除了某个多余的文件夹或者图片之类的:比如本地删了A文件夹,没有提交到svn服务器,然后又在svn删掉了服务器上的A文件夹,那么就会报错。

正确做法:先删掉本地A文件夹,然后提交到svn,然后再删除A文件夹。

13、错误信息

代码语言:javascript复制
‘-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXView" nib but the view outlet was not set.‘

查书才知道,没有做nib文件到xxxViewControler程序的关联,特此记录下来:

做法1:

a, 打开nib文件

b, 点击"File‘s Owner", 按command 4,设置Class为xxxViewControler

c, 按Control "Files‘s Owner", 里面有个默认的IBOutlet变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联

做法2:还有可能是xcode的问题,xcode本身自带记忆功能,可能你已经修改,或者删除,但是xcode无法识别,继续用默认的,所以出上面方法以外,可以重新建立xib 并且给予不同view名字

14、添加类文件再删掉后,找不到文件路径,报错如下:

办法:

第一步: 拷贝最后面的路径,在build Settings里搜出路径

第二步: 删掉生成的路径

15、错误信息

clang: error: no such file or directory: ‘/Users/user/Desktop/学富/Pods/AFNetworking/UIKit AFNetworking/AFAutoPurgingImageCache.m‘

clang: error: no input files

原因:1.在showInFinder里或者左侧栏找不到.m文件

2.在Build Phases下的Compile Sources里的.m文件变成红色或者灰色了

办法:1.重新导入.m文件h或者重新添加.m文件去编译

16、 错误信息:大概的意思是不要把bitcode设置为Yes

办法:把bit code设置为No

17.、no such file ...

原因:找不到某个framework或文件

办法:看no such file后面的东西是什么,一可能是找不到framework,二可能是找不到文件。

(1)如果是找不到framework,办法如下:

(2)如果是找不到文件

办法如下:拷贝后面pch的路径在build setting里搜,然后删掉生成的路径。

18、当bridgeHeader里import OC的头文件时报找不到Pods头文件的错,报错如下:

解决办法如下:

0 人点赞