为了账号安全,请及时绑定邮箱和手机立即绑定

AirLog-将iOS App的Log传输到局域网的Mac上

标签:
iOS

我们经常会遇到这种境况:
调试APP的时候,不方便连接Mac,但是又想看实时数据,这怎么办呢?
我们可以将Log,通过局域网,传输到Mac上。

我写了一个项目,啊不,准确来说,是好几个项目,共同完成这个任务
源码请见GitHub

---使用场景---
有实时调试需求,但又不能使用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 () <AirLogReadyDelegate>

@end

3) 初始化AirLogClientLib实例, 指定一个端口并设置代理

[[AirLogClientLib client] holdForServerWithPort:9000];
    [AirLogClientLib client].delegate = self;

4) 最后实现代理方法.

这个方法可以告诉你AirLog是否准备好了

- (void)AirLogIsReady:(BOOL)isReady{
    NSLog(@"AirLog is Ready:%d",isReady);
}
点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
11
获赞与收藏
446

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消