Flipboard/FLEX (Flipboard Explorer)是Flipboard发布的应用内调试工具,开发者可在toolbar中查看和修改运行中的应用。

功能:可以在层级中检测和调整视图,可查看每个对象上的属性和变量;动态调整任何属性和变量;动态调用实例和类方法;通过扫描 heap访问任何活跃的对象;在app的sandbox中查看文件系统;探究应用中所有类和系统框架(公开的和私有的);快速访问有用的对象(比如[UIApplication sharedApplication])、app委托以及关键窗口的根视图控制器等;动态查看和调整 NSUserDefaults 值。

 

与其他工具不同的是FLEX完全在应用中运行,无需连接至LLDB/Xcode,或者不同的远程调试服务器,在真机和模拟器上运行都很好。

 

用法

精简版

[[FLEXManager sharedManager] showExplorer];

完整版本

#if DEBUG #import "FLEXManager.h" #endif  ...  - (void)handleSixFingerQuadrupleTap:(UITapGestureRecognizer *)tapRecognizer { #if DEBUG     if (tapRecognizer.state == UIGestureRecognizerStateRecognized) {         // This could also live in a handler for a keyboard shortcut, debug menu item, etc.         [[FLEXManager sharedManager] showExplorer];     } #endif }

特性示例

 

调整视图

选中视图,点击工具栏下的“info bar”展示关于视图的更多信息,可以在此调整属性和调用方法。


堆上的所有对象

FLEX要求为所有的内存块分配内存,你可以在此查看所有的内容。

文件浏览器

在app的sandbox中查看文件系统,FLEX展示文件大小、图片预览以及 .json 和.plist文件的优质打印。

探索系统库

开发者可深挖所有公开和私有的内容。你可以为它创建实例和探索它的 Default state 来学习更多内容。

NSUserDefaults 编辑

FLEX允许你编辑的默认值可以是任意的字符串、数字、数组以及字典的组合。输入被解析为JSON。如果为 defaults key (i.e. NSDate)设置其他类型的对象,那你只能查看但无法编辑。

未来计划

Swift运行时内省 (swift classes, swift objects on the heap, etc.)

网络请求日志

通过文件浏览器中文件大小在Search bar中进行过滤和排序

提升对文件类型的检测以及在文件浏览器中展示功能

添加NSUserDefault key/value pairs

等等

 

Flipboard/FLEX github地址:https://github.com/Flipboard/FLEX


转载于:https://my.oschina.net/hejunbinlan/blog/424593

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐