赞
踩
FLEX (Flipboard Explorer) 是一系列集成在APP内部的用于iOS调试的工具集,以工具栏的形式显示在应用中,通过它,可以查看并修改几乎所有的APP运行状态。
[UIApplication sharedApplication]
、App Delegate、Root View Controller等。NSUserDefaults
存储的值。和其它调试工具不同,FLEX完全运行在你的APP中,所以不需要连接到LLDB/Xcode或者远程调试的服务端,在模拟器和真机上都运行的很好。
// Objective-C
[[FLEXManager sharedManager] showExplorer];
// Swift
FLEXManager.shared.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
}
点击 views
,从工具栏下面弹出界面,显示视图的详细信息,并能修改属性值和调用方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcKW07h6-1598274646347)(https://user-images.githubusercontent.com/8371943/70271816-c5c2b480-176c-11ea-8bf4-2c5a755bc392.gif)]
启用后,网络调试允许你查看所有使用NSURLConnection或NSURLSession发出的请求。并且你可以调整要缓存的响应体的类型以及响应缓存的最大大小限制。你可以选择在应用程序启动时自动启用网络调试。此设置会在启动时持久化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3rdtzXtk-1598274646349)(https://user-images.githubusercontent.com/8371943/70271876-e5f27380-176c-11ea-98ef-24170205b706.gif)]
FLEX会查询所有malloc活动分配的内存块,并搜索那些看起来像对象的内存块。你可以从这里看到一切:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jz37esC3-1598274646351)(https://user-images.githubusercontent.com/8371943/70271850-d83cee00-176c-11ea-9750-ee3a479c6769.gif)]
你可以通过任意的一个地址来访问该地址的对象,如果地址指向有效的对象,你可以直接打开它。如果FLEX不确定这个地址是否指向有效的对象,它会警告并拒绝访问该指针。但是,你仍可以通过"Unsafe Explore"来访问它。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xmh9BbM5-1598274646353)(https://user-images.githubusercontent.com/8371943/70271798-bb081f80-176c-11ea-806d-9d74ac293641.gif)]
默认的键盘快捷键允许您激活FLEX工具,使用方向键滚动,以及使用 ESC 键关闭模式。你也可以添加自定义键盘快捷方式通过 -[FLEXManager registerSimulatorShortcutWithKey:modifiers:action:description]
这个方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drsvho5n-1598274646355)(https://user-images.githubusercontent.com/8371943/70272984-d3793980-176e-11ea-89a2-66d187d71b4c.png)]
查看APP沙盒内的文件系统,包括文件大小、图片预览、以友好的方式显示json和plist文件。你可以重命名和删除文件和文件夹,也可以将文本和图片文件拷贝和剪贴板中,并且通过 “share” 来共享任意文件,以方便你在其他应用来打开这些文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MbkmhSok-1598274646356)(https://user-images.githubusercontent.com/8371943/70271831-d115e000-176c-11ea-8078-ada291f980f3.gif)]
SQLite数据库文件(以 .db
或者 .sqlite
为后缀为结尾的文件 ),或者
Realm数据库文件都可以使用FLEX来浏览。数据库浏览器允许你查看所有表,并通过点击每列的表头进行排序。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azOY5JoG-1598274646357)(https://user-images.githubusercontent.com/8371943/70271881-ea1e9100-176c-11ea-9a42-01618311c869.gif)]
使用 CMD、CTRL 和 shift 键的组合,您可以在模拟器中模拟不同级别的3D触摸压力。每个键贡献最大力的1/3。注意,你需要稍微移动触摸来获得压力更新。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-149bL55w-1598274646358)(https://cloud.githubusercontent.com/assets/1422245/11786615/5d4ef96c-a23c-11e5-975e-67275341e439.gif)]
深挖框架所有公共的和私有的类。如果需要了解有关类的更多信息,可以创建类的实例并研究其默认状态。如果知道要查找的类是哪个类,还可以输入类名直接跳转到该类。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nvg04jtc-1598274646359)(https://user-images.githubusercontent.com/8371943/70271868-dffc9280-176c-11ea-8704-a0c05b75cc5f.gif)]
FLEX允许修改NSUserDefaults的strings, numbers, arrays, and dictionaries,及其它们的组合,输入格式为JSON
;如果使用其它数据作为key,如NSDate
,则是只读的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CUi8y85F-1598274646360)(https://user-images.githubusercontent.com/8371943/70271889-edb21800-176c-11ea-92b4-71e07d2b6ce7.gif)]
代码注入留给大家去摸索了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。