技巧总结篇

Author Avatar
Rzk 8月 02, 2019
  • 在其它设备中阅读本文章

开发中可能会遇到的各种技巧。。。

Xcode部分

Organzier 用户上传的的崩溃日志

用户上传崩溃日志,可以在Xcode的Organzier里面查看。
Xcode->Windows->Organizer

crush.png
优点是很详细,很方便。但是,并非所有用户都会上传崩溃信息。所以这个只能作为其他崩溃统计信息的补充。不能当做主力来源。sad。。。

断点调试Autolayout

有时候可能会遇到这样的自动布局bug

2019-08-09 15:29:39.111289+0800 FastClean[18148:888972] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x60000263a850 H:|-(15)-[UIButton:0x7fd6d5f366f0](LTR)   (active, names: '|':UIView:0x7fd6d5f36030 )>",
    "<NSLayoutConstraint:0x60000263a620 UIButton:0x7fd6d5f366f0.right == UIView:0x7fd6d5f36030.right - 15   (active)>",
    "<NSLayoutConstraint:0x600002647e80 'UIView-Encapsulated-Layout-Width' UIView:0x7fd6d5f36030.width == 0   (active)>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x60000263a620 UIButton:0x7fd6d5f366f0.right == UIView:0x7fd6d5f36030.right - 15   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

那么你可以添加一种布局短点,在布局出现问题时可以添加Symbolic breakpoint断点。
内容填为UIViewAlertForUnsatisfiableConstraints
如下:

然而并没有什么卵用,直接断到线程堆栈上。啥有用的信息都没有…………

那么应该怎么搞呢,这里有个小技巧。在上面那个断点中添加action
po [[UIWindow keyWindow] _autolayoutTrace]
如下图:

会得到类似下图的view层次结构:

还是不够直接啊… 那么你可以

(lldb) e id $myView = (id) 0x7fd6d5d239e0
(lldb) e (void)[$myView setBackgroundColor:[UIColor blackColor]]

那么该元素就会被着色,你就可以看到它了!

iPhone部分

Charles使用技巧

Mac软件部分

接口调试工具 Paw

长这个样子⬇️

这是一个调试接口用的工具,可以很方便的调试网络请求。

详情如下⬇️

返回结果解析

Application Loader

上传APP
Xcode 11把Application Loader去掉了,使用上很不方便,下面是官方提供的命令:

或者像我这样懒的,从Xcode10里面把 Application Loader 抽取出来,hhh
放上下载连接(蓝奏云):
下载 密码:f7qy