总结一些在iOS入门的时候出现过的一些错误,总结下来,以后出现相同的错误的时候可以回顾以前的解决方法
报错信息:
这个错误的原因是:
在storyboard或者XIB中拖了一个控件属性到.h或者.m文件,但是你把这个属性删除,就会报找不到这个属性的错误.
解决方案:
在storyboard或者XIB中找到这个属性对应的控件删除原有的连线.
报错信息:
这个错误的原因是:
数组越界
解决方案:
找代码里数组相关的代码检查
报错信息:
**'UITableView (<UITableView: 0x7fa10401e600; frame = (0 0; 320 480); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x7fa102e99ff0>; layer = <CALayer: 0x7fa102e90b80>; contentOffset: {0, -64}; contentSize: {320, 132}>) failed to obtain a cell from its dataSource **
这个错误的原因是:
UITableView
没有在XIB
,storyboard
或者代码里面没有给UITableViewCell
设置唯一标识符,在UITableView
的数据源方法里用唯一标识符去缓存吃中取,就会宝这个错误
解决方案:
在对应的位置设置唯一标识符
报错信息:
这个错误的原因:
在定义宏的时候由于疏忽给宏定义的属性或者方法加上了标点符号
解决方案:
找到对应的宏删除标点符号
报错信息:
这个错误原因:
1.有框架的头文件没有包含;
2.在导入头文件的时候把.h
文件导入成.m
文件
解决方案:
1.根据错误信息,找到对应框架的头文件解决;
2.根据错误信息,找到对应文件把对应的.m
文件改成.h
报错信息
-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XMGVideoView" nib but the view outlet was not set.
这个错误原因:
在使用xib创建控制器view时,并没有通过File's Owner设置控制器的view属性
解决方案:
通过File's Owner设置控制器的view属性为某一个view
报错信息
-[UITableViewController loadView] loaded the "XMGVideoView" nib but didn't get a UITableView.
这个错误原因:
在使用xib创建UITableViewController的view时,并没有设置控制器的view为一个UITableView
解决方案:
通过File's Owner设置控制器的view属性为一个UITableView
报错信息
在将iOS
项目进行Archive打包时,Xcode提示以下错误:
[BEROR]CodeSign error: Certificate identity ‘iPhone Distribution: ***.’ appears more than once in the keychain. The codesign tool requires there only be one.
错误原因:
出现此问题的原因是多个证书之间冲突造成
解决方案:
打开Mac
系统的“实用工具”-“钥匙串访问”-“我的证书”中,会看到有证书名一模一样的,那么请将早期的证书删除掉,重启Xcode
;
报错信息
在真机或者模拟器编译程序的时候可能会遇到下面的错误:
Could not change executable permissions on the application.
错误原因
拥有相同的bundle Identifier已经在设备上运行
解决方案:
删除设备中或者模拟器中的App。
报错信息
编译时遇到如下错误:
A valid provisioning profile matching the application's Identifier 'XXXX' could not be found
错误原因
缺少证书或者是在Code Signing Identity处没有选择对应的证书或者是证书不对应
解决方案:
重装证书,检查证书是否是否选择是否对应。
报错信息
编译时遇到如下错误:
ld: library not found for -lmp3lameclang: error: linker command failed with exit code 1 (use -v to see invocation)
错误原因
一般是多人编辑同一个工程时其中一人没将某个库上传导致的
解决方案:
上传具体静态库
报错信息
Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set., NSUnderlyingError=0x15eb52e0 {Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad gateway (502)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x15d4c7d0> { URL: http://xxx.com } { status code: 502, headers { Connection = "keep-alive"; "Content-Length" = 173; "Content-Type" = "text/html"; Date = "Mon, 01 Feb 2016 03:35:51 GMT"; Server = "nginx/1.5.12"; } }, NSErrorFailingURLKey=http://xxx.com, NSLocalizedDescription=Request failed: bad gateway (502)
错误原因:
服务器返回的不是标准json,也有可能是由换行符和其他符号导致的
解决方案:
和后台沟通查看下具体接口