hello,小伙伴们大家好,今天给大家推荐的是阿里推出的开源项目:youku-sdk-tool-woodpecker
。
啄幕鸟,即手机屏幕上的啄木鸟,专抓App里的Bug。啄幕鸟集合了UI检查、对象查看、方法监听等多种开发工具,通过拾取UI控件、查看对象属性、监听方法调用、App内抓包等,不依赖电脑联调,直接获取运行时数据,快速定位Bug,提高开发效率。啄幕鸟提供了插件化的工具平台,简便易用,零侵入、零依赖、易接入、易扩展。
功能简介
1.UI检查:快速查看页面布局、UI控件间距、字体颜色、UI控件类名、对象属性/成员变量、图片URL等。
2.JSON抓包:便捷JSON抓包工具,通过监听系统json解析抓包。
3.方法监听:Bug听诊器,可监听App中任意OC方法的调用,输出调用参数、返回值等信息,可以通过屏幕日志输入监听、KVC取值等命令,支持后台配置命令。
4.po命令:执行类似LLDB的po命令,在App运行时执行po命令,调用任意方法。
5.系统信息:查看各种系统名称、版本、屏幕、UA等信息,支持外部添加信息。
6.SandBox:查看沙盒文件,导出文件等。
7.Bundle:查看、导出Bundle目录中的内容。
8.Crash:查看Crash日志,需先打开一次Crash插件以开启Crash监控。
9.Defaults:查看、新增、删除User Defaults。
10.清除数据:清除所有沙盒数据、User Default。
11.触点显示:显示手指触控。
12.UI对比:支持将设计图导入到App中进行对比,并可画线、标注需修改的地方,方便UI走查。
13.查看图片资源:查看、导出App中的资源图片。
14.CPU:查看CPU占用。
15.内存:查看内存占用。
16.FPS:查看App帧率。
17.网络流量:查看发送、接收网络流量。
插件功能介绍
1. UI检查插件
UI检查插件包含控件拾取和测距条两个工具,在屏幕上点一点即可获取布局、颜色、字体、圆角、图片URL等信息。
1.1 控件拾取
控件拾取根据手指在屏幕上的点击坐标,递归遍历View层级,获取包含触点坐标的最靠前的UI元素,在屏幕上直观显示相关信息,也可帮助了解UI布局、定位UI代码。
控件拾取功能
◆ 单击拾取当前点击的view,双击可跳过当前view,以拾取下层view,以防止view被同级view挡住拾取不到。
◆ 三个手指同时点击可切换拾取模式,只拾取响应链上的view,以防止屏幕上盖了一层view,影响拾取。
◆ 拾取后用线条和标注显示被拾取view的大小、位置,或与之前选中view的间距,简单直观,无需计算。
◆ 控件拾取信息区显示控件的类名、大小、透明度、圆角、hidden、文本、字体、颜色、图片尺寸、图片URL等信息,方便地获取运行时数据。
◆ 信息区提供父层按钮,点击拾取superview,层层拾取,即可了解UI布局,并根据view类名快速定位代码。
◆ 信息区根据选中元素的不同,提供文本、图片等按钮,以复制文本,查看、导出图片。
◆ 单击信息区可打开分享面板导出信息。
◆ 双击信息区可查看对象全部属性、成员变量。
控件拾取功能扩展
可以通过系统通知获得拾取到的控件并在信息区域显示自定义信息,格式如下:
extern NSString *const YKWPluginSendMessageNotification; /**< 插件发送信息通知 = @"YKWPluginSendMessageNotification" > */
extern NSString *const YKWPluginReceiveMessageNotification; /**< 插件接收信息通知 = @"YKWPluginReceiveMessageNotification" > */
/*
控件拾取插件:
发送格式:
notification.object = @"ProbePluginNotification";
notification.userInfo[@"view"] = 拾取到的UIView;
接收格式:
notification.object = @"ProbePluginNotification";
notification.userInfo[@"msg"] = 需要显示的信息;
*/
安全说明
啄幕鸟不依赖任何第三方库或数据。啄幕鸟代码中没有使用任何+load、+initialize等方法,啄幕鸟入口不显示则不会执行任何代码。如需线上使用啄幕鸟,应保护好开启入口,啄幕鸟支持安全模式,可在Release下开启安全模式,只支持打开安全插件,现有安全插件:UI检查、系统信息、触点显示。扩展插件注册时设置isSafePlugin=YES即可声明为安全插件,详见插件开发。
#ifndef DEBUG
[YKWoodpeckerManager sharedInstance].safePluginMode = YES;
#endif
开源地址:https://github.com/alibaba/youku-sdk-tool-woodpecker
感兴趣的小伙伴可以浏览一下这个开源项目。
今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言或点赞,以表示对我的支持,你们的留言,点赞,转发关注是我持续更新的动力哦!
关注公众号回复:"1024
",免费领取一大波学习资源,先到先得哦!
来源:oschina
链接:https://my.oschina.net/u/4295934/blog/4283477