FWDebug-iOS开源调试工具

694 阅读3分钟

FWDebug

iOS调试库,支持iOS11+,无需添加任何代码,方便iOS开发和测试。

手机端截图

浏览器截图

使用教程

真机或模拟器中5秒内摇一摇两次即可出现调试菜单。功能如下:

* FLEX调试工具(摇一摇开启)
* PC Web调试服务器功能,可查看手机网络请求、NSLog、打开URL、实时屏幕截图等("Web Server"入口)
* 检查Swift对象功能("App Config"默认开启)
* 视图距离测量功能(切换工具栏为"ruler"模式)
* 循环引用检测和分析(在对象查看页面点击搜索)
* Class和Protocol的头文件查看(在类查看页面点击"Runtime Headers")
* FPS、内存、CPU占用率显示(摇一摇开启)
* 手机、App信息查看、模拟功能("Device Info"入口)
* App崩溃日志的记录、查看("Crash Log"入口)
* App崩溃日志上报邮箱和服务器(代码配置crashReporter)
* 文件日志的记录、查看("Custom Log"入口)
* App文件管理器("Browse Directory"入口)
* Documents文件http、webdav服务器("Web Server"入口)
* 真机NSLog显示("System Log"入口,"App Config"可配置过滤系统日志)
* 生成dylib动态库并注入其它App("Dylib"目录,需手机越狱)
* App加密工具("App Config"可配置开启)
* CLLocationManager虚拟定位("Fake Location"入口)
* 模拟器虚拟远程推送发送和接收功能("Fake Notification"入口)
* APNs远程推送发送功能("Fake Notification"入口"APNS Client"配置)
* 启动时间、控制器加载和网络请求时间查看("Time Profiler"入口或点击帧率图标快速查看当前控制器时间)
* WKWebView请求抓包功能("App Config"打开开关后查看"Network History"即可)
* WKWebView自动注入vConsole功能("App Config"打开开关后打开WKWebView即可)
* WebSite静态web服务器("Web Server"入口,web文件放到Documents/website即可)
* WKWebView清理缓存功能("App Config"入口)

审核说明

针对大家关心的上架审核问题,特别说明一下:

**由于本调试库调用了私有Api,上架审核会不通过的,所以提交AppStore时请移除。**

只需在添加pod时设置`:configurations => ['Debug']`,只在Debug模式生效即可。

安装教程

推荐使用CocoaPods安装,自动管理依赖和环境配置。

本调试库支持Debug和Release环境,建议Debug模式开启。Podfile示例:

platform :ios, '11.0'
use_frameworks!

target 'Example' do
    pod 'FWDebug', :configurations => ['Debug']
end

更新日志

5.1.0版本:

    * 新增PC Web实时查看手机屏幕截图功能
    * 新增systemLog、重命名customLog,以满足自定义日志需求

5.0.1版本:

    * 修复偶现Swift项目启动时崩溃问题
    * 升级vConsole到3.15.0版本

5.0.0版本:

    * 新增Reflex插件,可检查Swift对象
    * 新增切换Reflex开关设置,默认开启

4.1.0版本:

    * 升级FLEX到5.22.10版本
    
4.0.0版本:

    * 新增PC Web调试服务器功能
    * 新增Web 服务器端口和路径配置功能
    * 新增崩溃上报到邮箱或服务器功能
    * 新增WKWebView清理缓存功能
    * 升级FLEX到最新版本
    * 兼容iOS 16

第三方库

本调试库使用了第三方库,在此感谢所有第三方库的作者。列举如下:

* [FLEX](https://github.com/Flipboard/FLEX)
* [GCDWebServer](https://github.com/swisspol/GCDWebServer)
* [RuntimeBrowser](https://github.com/nst/RuntimeBrowser)
* [KSCrash](https://github.com/kstenerud/KSCrash)
* [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector)
* [NWPusher](https://github.com/noodlewerk/NWPusher)
* [swift-atomics](https://github.com/apple/swift-atomics)
* [Echo](https://github.com/Azoy/Echo)
* [Reflex](https://github.com/FLEXTool/Reflex)

Github地址

github.com/lszzy/FWDeb…