前言

CocoaLumberjack捆绑了一系列的内置日志记录器,通过简单的配置,就可以实现在手机上直接查看nslog日志的功能,对于真机调试有极大的帮助。

配置过程

1. pod导入CocoaLumberjack库
pod 'CocoaLumberjack'
2. 创建NSLog宏,拦截系统NSLog方法
#ifdef DEBUG
#define NSLog(...)                 DDLogDebug(@"AppName  %s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])
#else
#define NSLog(...)
#endif
3. 创建日志查看VC,在其中获取日志。


代码展示

#import "YXLogManagerVC.h"@interface YXLogManagerVC ()@property (weak, nonatomic) IBOutlet UITextView *textView;@end@implementation YXLogManagerVC- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.DDFileLogger *fileLoggerOne = DDLog.allLoggers.lastObject;//    NSLog(@"logsDirectory *** %@",fileLoggerOne.currentLogFileInfo.filePath);dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{NSString *path = fileLoggerOne.currentLogFileInfo.filePath;NSString *readStr= [[NSString alloc]initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];dispatch_async(dispatch_get_main_queue(), ^{//回到主线程self.textView.text = readStr;self.textView.layoutManager.allowsNonContiguousLayout = NO;[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length, 1)];});});
}- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];// 隐藏导航条[self.navigationController setNavigationBarHidden:YES animated:animated];
}// MARK: 返回按钮点击
- (IBAction)backButtonClick:(UIButton *)sender {[self dismissViewControllerAnimated:YES completion:nil];
}// MARK: 清空按钮
- (IBAction)cleanButtonClick:(UIButton *)sender {DDFileLogger *fileLoggerOne = DDLog.allLoggers.lastObject;//[fileLoggerOne rollLogFileWithCompletionBlock:^{/// 回到主线程dispatch_async(dispatch_get_main_queue(), ^{self.textView.text = @"清空成功";});}];
}- (IBAction)scrollToBottomClick:(YXXibButton *)sender {[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length, 1)];
}/*
#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {// Get the new view controller using [segue destinationViewController].// Pass the selected object to the new view controller.
}
*/@end

4. 添加跳转日志口子即可查看日志了

iOS真机上查看NSLog日志相关推荐

  1. ios 真机上可以运行模拟器编译报错

    我们在项目开发的过程中难免会用到一些第三方的插件,来实现比如人脸识别,扫描银行卡,蓝牙等等一些需要调用手机硬件的功能. 这样我们就要导入第三方给提供的静态库也就是.a文件, 但是这些.a文件往往都只支 ...

  2. iOS 查看崩溃日志

    iOS开发,查看崩溃日志的办法有几个. 1发布之前,内测阶段,安装hoc版本的ipa,如果崩溃了,拿到设备,在编包的机器上打开xcode,orgnizer,查看设备的日志就能看到. 2发布之后,用户使 ...

  3. Appium自动化测试-iOS真机运行

    在使用iOS真机运行之前,需要配置好WDA,如果没有安装配置好WDA,可以参考文章:https://blog.csdn.net/dou_being/article/details/107745463 ...

  4. 微信小程序 1rpx border ios 真机显示不全

    微信小程序 1rpx border ios 真机显示不全 问题描述 在微信小程序的原生页面,ios 真机上 1rpx border 会出现个别边显示不全的情况: 解决方案 这里先放上问题直通车:微信小 ...

  5. 微信小程序 —— 1rpx边框ios真机显示不完全

    问题描述:微信小程序在ios真机上有1rpx边框时,可能出现边框显示不完全的情况. 网上某大佬测试结果:当标签的父元素宽度(单位rpx)÷2的值为偶数或者偶数.5的时候就会出现该bug. 如600÷2 ...

  6. 《Buildozer打包实战指南》第五节 在安卓模拟器和真机上运行apk文件并查看日志

    目录 5.1 在安卓模拟器上运行apk文件并查看日志 5.2 在真机上运行并查看日志 5.3 查看apk包内日志 成功打包出apk文件并不代表真正成功,只

  7. IOS 其他 - 在真机调试的时候,将NSLog日志存入文件并保存到document目录

    下面的方法都是在Appdelegate.m中 - (void)redirectNSLogToDocumentFolder{ NSString *fileName =[NSStringstringWit ...

  8. Xcode模拟器和真机生成的日志查看(ios必知必会)

    在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DE ...

  9. Charles学习(四)之使用Map local代理本地静态资源以及配置移动端代理在真机上调试iOS和Android客户端...

    前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的 ...

最新文章

  1. c语言链表最高响应比优先,操作系统--最高响应比优先调度算法实验报告..doc
  2. 再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
  3. yml文件配置mysql表大小写_springboot常用配置(yml文件)
  4. java面试换背景颜色_实习|渣二本Java菜鸡0 Offer的春招血泪史,一定要主动去找实习呀!
  5. 蓝桥杯2014届试题9题 小朋友排队(树状数组+类逆序对)
  6. php说明代码怎么写,代码怎么写 - 起步 - PHP基础 - KK的小故事
  7. [react] 你有使用过loadable组件吗?它帮我们解决了什么问题?
  8. KITTI自动驾驶数据集可视化教程
  9. 第25版 OpenStack Yoga 已发布
  10. aop注解配置切点 spring_springboot aop 自定义注解方式实现一套完善的日志记录
  11. NameError: name 'file' is not defined
  12. coreldraw登录老是出现未知错误_原神:新版本bug频出,史莱姆消失,联机模式提示506错误码...
  13. day02【后台】管理员登录
  14. 【xinput1_3.dll下载】xinput1_3.dll丢失怎么修复win10
  15. COJ 3012 LZJ的问题 (有向图判环)
  16. 全球机场与航空公司准点率数据报告,为五一小长假做足准备
  17. 微信小程序显示当前时间
  18. 96道前端面试题,作出的职业规划建议
  19. windows清理8080端口
  20. 从面向对象的设计模式看软件设计

热门文章

  1. 计算机基础知识 教学反思,《计算机应用基础》教学反思
  2. 计算机网络 王道论坛2
  3. MySQL的ODBC驱动下载、安装以及配置数据源
  4. 一个企业固定资产折旧案例
  5. android4 触摸屏驱动,android中如何设计触摸屏驱动touch screen driver
  6. 虚幻四蓝图编辑之开关门
  7. 安装的python没有菜单栏_新手求助 为什么mac安装python后打开idle没有工具栏?
  8. android和emule区别,emule-project是什么?正宗电驴和VeryCD电驴有什么区别?
  9. 关于淘宝 TOP 开发 使用的一些心得,问题不断更新中。。。
  10. 通过URL传值在手机端打开一键导航