只是觉得有必要记录一下自己调试中遇到的错误,后续增加:
1.在去除已经使用pods导入的第三方库时,出现如下错误:
linker command failed with exit code 1 (use -v to see invocation)
解决办法:
在other Linker Flags中找到之前导入过的那个第三方,将其移除即可。
同样,如果项目中多次引入了同一个相同的文件,也会出现类似的错误,查看错误原因,找到那个被导入的同一个文件 查看这里 如果没有 就使用全局搜索查看。之前有一次,就是因为小伙伴在AppDelegate里两次导入了同一个文件 出现了此种错误
2. 11月28日测试发现的问题:
项目的详情页中有一个倒计时的定时器,当应用进入后台被挂起后,再次进入该页面时,刷新页面发现定时器时间不准确,不是最新的时间,而是挂起之前的倒计时时间,查看代码,在于刷新数据时,给倒计时的模块赋新值时,没有将原有的定时器销毁。
3.EXC_BREAKPOINT(code=EXC_ARM_BREAKPOINT,subcode=0xdefe)
- 在editScheme 中的Diagnostics中开启Zombie Objects;
2)断点开启:symbolic breakPoint 和exception breakpoint
查看崩溃原因
4.去除控制台中的无用输出信息
5.PBXcp error
最开始搜索了网上的方法 清空了Xcode 的DerivedData,运行发现问题依然存在:
退出Xcode,然后从finder里面进入~/Library/Developer/Xcode/DerivedData
之后查看了一下错误信息 中指明的文件,项目-->targets-->build phases-->copy bundle resources,删掉红色的错误资源文件:
仔细查看了一下 发现还是资源的重复导入问题,以及导入的资源文件夹重命名了的问题
6. WKWebView JS交互时 malloc问题
清明时,在调试webView JS交互时,在自己的手机上,总是崩溃在malloc上,但在其他手机上都OK,始终找不出问题来,我也差点崩溃了,最后发现问题其实很简单,在很久之前某次调试时,个人手机上我打开了web检查器。。。。所以,在MAC上关闭本机的web检查就好了。
7.http://blog.csdn.net/bigpaolee/article/details/8911695
使用一些注意项和常见错误
- 编译器提示类似file is universal but does not contain a(n) armv6 slice for architecture armv6的错误。可能是您的XCode版本过低,推荐使用4.2以上的版本,将XCode的Build Settings中的Architectures设置成arm7。
- XCode提示有类似C++语法的错误。可能是您在调用接口时没有设置成OC与C++混编模式(具体做法为将调用接口的实现文件改为.mm的后缀)。
- 提示类似ld: 3 duplicate symbols for architecture i386(arm7)的错误。可能是您用了与SDK相同的第三方库,解决方法是删除引起错误的第三方法库的实现文件(.m文件)。
- 编译器提示类似file is universal (2 slices) but does not contain a(n) armv7s slice:…… for architecture armv7s的错误。是因为此版本的库还不支持arm7s的环境,将Build Settings项中的Valid ArchiteCtures中的arm7s删除即可解决。
- 编译器提示类似Duplicate symbol _NN_Decode in /Users/…/libPPUserPayKit.a(UPPayRsa_nn.o) for architecture armv7或Command /Developer/…/bin/llvm-g++-4.2 failed with exit code 1的错误。则是因为C++混编模式引起的,您可以将Build Settings 设置项里面的Other Linker Flags设置成空即可。
http://blog.csdn.net/bigpaolee/article/details/8911695
8.<Error>: CGContextSetFillColorWithColor: invalid context 0x0
在使用drawRect方法进行图形绘制时,出现该错误,百度后在stackOverFlow上找到解决办法:https://stackoverflow.com/questions/39069209/why-do-cgcontextsetfillcolorwithcolor-and-cgcontextfillrects-both-throw-invalid
将UIGraphicsGetCurrentContext()这句代码放在 UIGraphicsBeginImageContextWithOptions(contextSize, NO, 0);的后面
9.BSXPCMessage received error for message: Connection interrupted
参考解决办法:(http://blog.csdn.net/zhuming3834/article/details/50802701)
CIContext *context = [CIContext contextWithOptions:@{kCIContextUseSoftwareRenderer : @(YES)}];