Flipboard开源应用内调试工具FLEX

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

功能

1.可以在层级中检测和调整视图,可查看每个对象上的属性和变量;

2.动态调整任何属性和变量;

3.动态调用实例和类方法;

4.通过扫描 heap访问任何活跃的对象;

5.在app的sandbox中查看文件系统;

6.探究应用中所有类和系统框架(公开的和私有的);

7.快速访问有用的对象(比如[UIApplication sharedApplication])、app委托以及关键窗口的根视图控制器等;

8.动态查看和调整 NSUserDefaults 值。

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

用法

精简版

精简版

  1. [[FLEXManager sharedManager] showExplorer]; 

完整版本

  1. #if DEBUG 
  2. #import “FLEXManager.h” 
  3. #endif 
  4. – (void)handleSixFingerQuadrupleTap:(UITapGestureRecognizer *)tapRecognizer 
  5. #if DEBUG 
  6.     if (tapRecognizer.state == UIGestureRecognizerStateRecognized) { 
  7.         // This could also live in a handler for a keyboard shortcut, debug menu item, etc.
     
  8.         [[FLEXManager sharedManager] showExplorer]; 
  9.     } 
  10. #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

分享到: 更多
Separator image Posted in IOS.