【一周】Xcode开发小技巧一

有需求的日子过得好快好快,每天也没什么时间去深入的研究一些感兴趣的地方,其实会让我觉得有些迷茫,不断的消耗自己而没有补充新鲜的内容。


1055430-a040d8d418aaf019.jpeg

所以先把几个最近让我有点小惊喜的功能记录下来,慢慢回归到学习的轨道上。

一 小惊喜
1.查看CrashLog的正确姿势

测试过程突然发现有crash,而且只在测试包中出现本地跑时却不会出现。所以只能去查看设备里面的Crash log信息


1055430-37c8cb0857f32d24.png
Crash Log

按照项目名以及出现crash的日期时间,快速的定位到以下的说明:


1055430-203e5797ba80d0cc.png

Exception Type很直接的指出这是一个野指针的错误。这时候很自然的假装老练: 是时候找该版本的符号表DYSM,再下个DYSMTool来解析地址,但是每次解析出来的报错位置不是定位到系统错误就是其他业务的问题。


1055430-5a13bd2885deab8f.png
DYSMTool

只得去了解了解Slide Address是什么,以及DYSMTool到底是为啥会解析出这些个答案的,从原理看起...就一看看不完了。


1055430-c0c4a5879b61a764.png

最后的最后,才知道原来苹果自带解析功能,在Crash log列表右击选择“Re-Symbolicate Log”,一切清新自然,我笑了。
1055430-b4ba1e83251f03a1.png
2.函数被调用层级

之前每次找某个函数的调用层级时,右键一个一个的跳,而且在Xcode卡顿的时候能跳个大半天,所以假装无意间记下大佬的查看方式,才知道原来Xcode提供一次性查看某一个方法所有的调用层级,是真的好用啊!


1055430-4dcf2f1934a4f841.png
3.运行时替换属性姿势

这个是我很喜欢也经常会用的一个技巧,在运行过程中不用改了再跑一遍,不用做任何复杂的事情,只需要加一个小断点然后编辑一下,比如想要测一下if条件里面为NO的情况:


1055430-a46f8544bd624642.png

是的没错!颜色也能替换。
说到这里有一个印象比较深的关于Condition的描述.. Condition就是条件语句,我写的时候居然还自己加上if()格式

二 小总结

其实最近一直在怀疑自己是不是只能写UI,是不是其他高深的内容都做不了。一旦怀疑自己就会有一段时间松懈,每天只是写写需求,尽力的去满足产品和设计的需求,但是这几天一些事让我看清了很多,所以从端午开始又会好好学习了,性能优化、重构、Swift这些我来了!


1055430-e14b09a4d85b6bcf.jpg

转载于:https://www.jianshu.com/p/dd902280a355

猜你喜欢

转载自blog.csdn.net/weixin_34245169/article/details/91280693