您的位置:首页 > 理论基础 > 计算机网络

IOS debug网络PonyDebugger 实践篇

2013-10-14 10:15 323 查看
引言:

PonyDebugger是一个很给力的iOS调试工具,它的监视器安装在Chrome浏览器下做为插件使用,通过监视器和PonyDebugger的iOS SDK相辅相成,可以很好的监视App的运作情况.它的突出的亮点功能如下:

1:实时的检测应用与网络的交互情况

2:查看应用内Core Data的数据变化

3:实时反馈UI层的层级情况

快速开始

服务器端

1.安装 Xcode's Command Line Tools

2.在shell里面执行下面命令

curl -skhttps://cloud.github.com/downloads/square/PonyDebugger/bootstrap-ponyd.py | \

python - --ponyd-symlink=/usr/local/bin/ponyd ~/Library/PonyDebugger

出现error的信息的话 可能就是需要管理员权限 去创建

用管理员 权限 登陆 去执行 命令 即可

3. 安装成功以后,在shell里面执行

ponyd serve --listen-interface=127.0.0.1

4. 打开你的浏览器输入地址

http://localhost:9000

看见此图就配置成功了:



从此下载 打包好的 framework,http://download.csdn.net/detail/langyuejing/6390913

此framework 是根据Github源码进行编译的 在Xcode 5上 编译环境 arm64 ,armv7,armv7s 对源码 数据类型做了初步的64位兼容的

可以直接添加到工程里

添加link参数-Objc


在使用的地方 导入

#import <PonyDebugger/PonyDebugger.h>

iOS端的PonyDebugger是单例模式存在,所以初始化方法如下:

之后再使用如下方法建立与服务端的连接:

PDDebugger *debugger = [PDDebugger defaultInstance];


[debugger connectToURL:[NSURL URLWithString:@"ws://localhost:9000/device"]];

以下开始具体功能

1:开启应用视图层级解析

[b][debugger enableViewHierarchyDebugging];
[/b]





其中所看到的frame class等字段可以通过以下方法实现自定义是否需要在层级中显示,是以KVO形式获取的.

[debugger setDisplayedViewAttributeKeyPaths:@[@"frame",@"hidden",@"class",@"tag",@"alpha",@"userInteractionEnabled"]];

2:开启网络请求监听

[debugger enableNetworkTrafficDebugging];

开启后,可以设置为是否监听所有的网络请求:

[debugger forwardAllNetworkTraffic];

还是只监听某一个类网络请求:

[debugger forwardNetworkTrafficFromDelegateClass:[User class]];
















3:开启Core Data数据浏览

[debugger enableCoreDataDebugging];

开启后,继续添加需要检测的CoreData上下文

[debugger addManagedObjectContext:[StackMobManager sharedInstance].keyManagedObjectContext];






github 地址

https://github.com/square/PonyDebugger

参考资料:

1:简单配置PonyDebugger

http://iiiyu.com/2013/01/14/simple-configuration-ponydebugger/

这个东东 还是不错 用来监控网络请求 至于core data 很少用 呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: