代码库> 其他> OCDebugger(应用调试器)
OCDebugger(应用调试器)
关注
上传者:ponycui 分类:其他(Others)
查看次数:1653 下载次数:132
上传时间:2015-06-14 大小:216 B
# OCDebugger
OCDebugger 是一个非常易用的应用开发调试工具, 你可以使用浏览器或者iPhone本身去调试你开发的应用。这只是一个客户端库,我们也同时开源了Web应用的库(OCDServer),OCDServer会接收所有从iOS客户端发送的数据。你可以将OCDServer安装到自己的服务器上,当然,我也提供了一个公共的OCDServer服务器,请放心使用,这个服务器足够稳定。


和**PonyDebugger**不同的是,OCDebugger并不要求开发者使用谷歌浏览器开发者工具去调试应用,你只需要使用Safari、Chrome、Firefox甚至IE都可以。

OCDebugger 使用MIT开源协议.

## 功能

### 远程和本机调试面板

要查看调试数据,你可以在任何时候摇一摇你的手机,或者打开Web应用 [打开链接](http://ocdebugger.sinaapp.com/dashboard/index.html?access=1,testToken)

cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/0.png','','700','700')

### HTTP连接监听器

OCDebugger 使用 NSURLProtocol 方法嗅探所有网络连接。你只需要打开浏览器,静候网络连接信息到来。

cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/1.png','','700','700')

由于OCDebugger使用的是Foundation Framework提供的方法嗅探网络,这就意味着所有的http/https连接都可以被感知到。
所有流行网络封装库都可以被嗅探到,包括AFNetwoking/SDWebImage。
但是,如果网络库是使用更底层的CFNetwork或者C++封装的话,OCDebugger连接监听是不会有任何作用的。

cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/2.png','','700','700')
cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/3.png','','700','700')

OCDebugger 会将小于32K的数据发送到服务器, Web应用会尝试将内容转换成美化的JSON样式。请求、回应的头部也会被捕获到。

你可以修改请求的头部和内容,然后点击"Resend"按钮重新发送请求。

### 远程和本地 Log
OCDebugger 使得 log 变得更轻松简单。 你只需要接照正常的安装步骤就可以启用OCDLog,所有的NSLog()都会转发到服务器和本地,而同时NSLog的日志也会同时出现在控制台。
TODO:我们希望做得更完美,我们希望能远程地进行类似lldb一样的调试。

_**所有的log都是实时传输的。**_

cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/4.png','','700','700')
cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/5.png','','700','700')

### 调试点
OCDebugger 发现了一种更快捷的调试方法,调试点!
试想,在程序运行的过程中,如果你想替换某个变量,你会怎么做呢?你会在服务器上面建一个JSON文件?你会在本地用复杂的代码实现?
以下是我们的方法。
```
- (BOOL)testPoint {
    OCDValuePoint(@"test", YES);
    return NO;
}

- (NSString *)testText {
    OCDObjectPoint(@"How", @"How?");
    return @"What?";
}
```
我们添加了各一个调试点到```testPoint```和```testText```,如果我们将这些调试点设为“生效”,那么它就会提前地返回我们指定的值或者对象。
```OCDValuePoint```和```OCDObjectPoint```的不同之处在于, ```OCDValuePoint``` 返回 bool/int 值, ```OCDObjectPoint``` 返回对象.

我们可以在远程或者本机对调试点设置“生效”或者“失效”

cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/6.png','','700','700')
cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/7.png','','700','700')

### 终端
OCDebugger 可以通过类似shell的命令操控文件,以下命令是被支持的。

```
cd..    cd directory     cd /

ls      ls directory

rm file     rm directory     rm *

vi file     use :w save changes     use :q quit vi mode

clear
```
cvpic('https://raw.githubusercontent.com/PonyCui/OCDebugger/master/README_Resources/8.png','','700','700')

### 更多功能
我们期待开发更多方便开发者的功能,加个星关注我们。

##安装

###要求
* iOS 6.0 或者更高版本 (我没有在iOS6下测试过)
* Xcode 6.3

###配置
####CocoaPods
[CocoaPods](http://cocoapods.org/) 是一个版本依赖工具,强烈建议使用.

使用以下命令安装.

    $ sudo gem install cocoapods
    $ pod setup

创建 Podfile 文件

    platform :ios, '6.0'
    pod 'OCDebugger'

如果你希望使用最新版本的代码,请使用以下命令

    pod 'OCDebugger', :git => 'https://github.com/PonyCui/OCDebugger.git'

命令行下执行

    $ pod install

####人工安装
不建议使用人工安装方式

##使用方法

将 ```OCDPrefixHeader.h``` 复制到你的工程目录下,这个文件不能放置在Pods文件夹中.

import ```OCDebugger.h``` 和 ```OCDPrefixHeader.h``` 到你的PrefixHeader.h里面

使用浏览器,打开 [打开链接](http://ocdebugger.sinaapp.com/dashboard/index.html?access=1,testToken) , 申请一个appid.

在任何位置输入以下代码.(推荐在 applicaton:didFinishLaunchingWithOptions:)
```
[OCDebugger setAppID:@"yourappid" appToken:@"yourapptoken"];
[OCDebugger setEnabled:YES];
```

高歌吧~~~~万马奔腾

## 注意
在你发布应用之前,你必须移除OCDebugger,并执行pod update。
OCDebugger 不能使用在生产环境上。
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
本周热门下载
综合评论
提示
sina weixin mail 回到顶部