Flipboard开源应用内调试工具FLEX

Flipboard/FLEX (Flipboard Explorer)是Flipboard发布的应用内调试工具,开发者可在toolbar中查看和修改运行中的应用。
功能:可以在层级中检测和调整视图,可查看每个对象上的属性和变量;动态调整任何属性和变量;动态调用实例和类方法;通过扫描 heap访问任何活跃的对象;在app的sandbox中查看文件系统;探究应用中所有类和系统框架(公开的和私有的);快速访问有用的对象(比如[UIApplication sharedApplication])、app委托以及关键窗口的根视图控制器等;动态查看和调整 NSUserDefaults 值。
 
与其他工具不同的是FLEX完全在应用中运行,无需连接至LLDB/Xcode,或者不同的远程调试服务器,在真机和模拟器上运行都很好。
 
用法
精简版
  1. [[FLEXManager sharedManager] showExplorer]; 
完整版本
  1. #if DEBUG 
  2. #import "FLEXManager.h" 
  3. #endif 
  4.  
  5. ... 
  6.  
  7. - (void)handleSixFingerQuadrupleTap:(UITapGestureRecognizer *)tapRecognizer 
  8. #if DEBUG 
  9.     if (tapRecognizer.state == UIGestureRecognizerStateRecognized) { 
  10.         // This could also live in a handler for a keyboard shortcut, debug menu item, etc. 
  11.         [[FLEXManager sharedManager] showExplorer]; 
  12.     } 
  13. #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
 
 
 
原文地址:http://www.cocoachina.com/applenews/devnews/2014/0728/9259.html
posted @ 2014-07-28 17:09  太阳☆月亮  阅读(445)  评论(0编辑  收藏  举报