IOS debug网络PonyDebugger 实践篇
引言:
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:开启应用视图层级解析
[debugger enableViewHierarchyDebugging];
其中所看到的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 很少用 呵呵
转载于:https://www.cnblogs.com/suncoolcat/p/3367878.html
IOS debug网络PonyDebugger 实践篇相关推荐
- iOS开发网络篇—搭建本地服务器
iOS开发网络篇-搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache- ...
- iOS开发网络篇—多线程断点下载
iOS开发网络篇-多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...
- iOS开发网络篇—使用ASI框架进行文件下载
iOS开发网络篇-使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: 1 #import "YYView ...
- iOS开发网络篇—数据缓存
iOS开发网络篇-数据缓存 一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以 ...
- 02.iOS开发网络篇—HTTP协议
iOS开发网络篇-HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...
- Method-Swizzling实战-实现iOS原生网络请求性能采集
一.方法交换实现步骤(实例方法和类方法处理逻辑类似) 1.检查原类(要被替换方法的类)的原实例方法是否存在,如果不存在,则不交换: 2.检查新类(最终被使用的方法所在的类)的新实例方法是否存在,如果不 ...
- iOS之网络数据下载和JSON解析
iOS之网络数据下载和JSON解析 简介 在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection从网络上下载数据, 如何解析下载下来的JSON数据格式, 以及如何显示数据和图片的异步 ...
- iOS 获取网络时间
iOS 获取网络时间 也许你会因为当前手机时间不准确而导致自己的程序在使用时间上出现一些问题,那么下面这块代码也许会帮到你,实用的百度服务器的时间,如果没网络会使用系统默认时间! /*** 获取网络当 ...
- iOS开发——网络请求案例汇总(AFNetworking)
我在之前一篇博客中实现了使用NSURLConnection或者NSURLSession来请求网络数据,用的都是苹果自带的方法.请参考<iOS开发--网络请求案例汇总>.现在我们使用最流行的 ...
最新文章
- 【Origin】晨起忆梦
- 武汉python培训哪一家好一些-武汉哪个Python培训机构比较好?
- 科大星云诗社动态20210301
- android Json处理换行符
- 查看linux中shell的几种方法汇总
- 如何在VB中使用正则表达式
- 标准BT.656并行数据结构
- Flutter之Windows环境搭建
- Python程序中的进程操作-进程同步(multiprocess.Lock)
- 代码整洁读书笔记---序,前言,代码猴子
- ISO27001认证适用领域及认证流程
- mysql2008 精简版_精简版 SqlServer2008 的安装和使用
- pcap文件格式及写pcap文件
- 工业污染治理投资完成情况分析(2000—2019年)
- 无法启动程序因为计算机中丢失msvcr100,win7系统无法启动程序提示计算机中丢失msvcr100.dll的解决方法...
- 架构设计(8)—高可用架构设计
- 计算机英语口语app,最实用五大英语口语app,强烈推荐
- AddressBook、AddressBookUI、Contacts、ContactsUI 通讯录操作
- Es,N0,EsN0,EbN0,SNR关系详解
- configure error:Package requirements (openssl) were not met