黑马程序员技术交流社区

标题: AirLog-将iOS App的Log传输到局域网的Mac上 [打印本页]

作者: Abbiamo    时间: 2016-8-24 21:51
标题: AirLog-将iOS App的Log传输到局域网的Mac上
本帖最后由 Abbiamo 于 2016-8-24 21:54 编辑

我们经常会遇到这种境况: 调试APP的时候,不方便连接Mac,但是又想看实时数据,这怎么办呢? 我们可以将Log,通过局域网,传输到Mac上。  ---使用场景--- 有实时调试需求,但又不能使用USB连接电脑的时候 1.开发类似Dock设备,需要把手机插到Dock上调试的情况 2.测试GPS/加速度数据的时候,需要挥舞手机,不方便连接USB线 3.等等等等 ---工作原理--- 工作原理很简单,就是使用Socket网络通讯 手机作为客户端,Mac作为服务器,手机打AirLog的时候,向Mac发送数据,Mac显示出Log的内容 ---项目介绍--- 项目共分为如下文件夹,一一介绍功能: 1.AirLogClientLib : 为实现iOS app发送Log给Mac,创建的静态库工程 2.AirLogClientLib-Output : 静态库工程的编译产物,可以直接使用 3.AirLogClientDemo : 为介绍怎么使用静态库,怎么发AirLog,所创建的iOS APP Demo 4.AirLogServer : Mac端的,接收AirLog的工程 5.AirLogServer.app : 打包好的Mac端App ---使用步骤--- 1.Demo iOS部分是AirLogClientDemo项目,里面引用了我们封装好的库来打印Log Mac部分是AirLogServer.app,用来接收Log 步骤: 先打开Mac的app,点击开始监听 再运行AirLogClientDemo,待AirLog is Ready:1打印出来后,点击Send Air Log。 2.怎么写代码 1) 引用头文件: #import "AirLogClientLib.h" 2)遵守 AirLogReadyDelegate 协议 @interface ViewController () @end 3) 初始化AirLogClientLib实例, 指定一个端口并设置代理 [[AirLogClientLib client] holdForServerWithPort:9000]; [AirLogClientLib client].delegate = self; 4) 最后实现代理方法. 这个方法可以告诉你AirLog是否准备好了 - (void)AirLogIsReady:(BOOL)isReady{ NSLog(@"AirLog is Ready:%d",isReady); }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2