iOS真机上查看NSLog日志
前言
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日志相关推荐
- ios 真机上可以运行模拟器编译报错
我们在项目开发的过程中难免会用到一些第三方的插件,来实现比如人脸识别,扫描银行卡,蓝牙等等一些需要调用手机硬件的功能. 这样我们就要导入第三方给提供的静态库也就是.a文件, 但是这些.a文件往往都只支 ...
- iOS 查看崩溃日志
iOS开发,查看崩溃日志的办法有几个. 1发布之前,内测阶段,安装hoc版本的ipa,如果崩溃了,拿到设备,在编包的机器上打开xcode,orgnizer,查看设备的日志就能看到. 2发布之后,用户使 ...
- Appium自动化测试-iOS真机运行
在使用iOS真机运行之前,需要配置好WDA,如果没有安装配置好WDA,可以参考文章:https://blog.csdn.net/dou_being/article/details/107745463 ...
- 微信小程序 1rpx border ios 真机显示不全
微信小程序 1rpx border ios 真机显示不全 问题描述 在微信小程序的原生页面,ios 真机上 1rpx border 会出现个别边显示不全的情况: 解决方案 这里先放上问题直通车:微信小 ...
- 微信小程序 —— 1rpx边框ios真机显示不完全
问题描述:微信小程序在ios真机上有1rpx边框时,可能出现边框显示不完全的情况. 网上某大佬测试结果:当标签的父元素宽度(单位rpx)÷2的值为偶数或者偶数.5的时候就会出现该bug. 如600÷2 ...
- 《Buildozer打包实战指南》第五节 在安卓模拟器和真机上运行apk文件并查看日志
目录 5.1 在安卓模拟器上运行apk文件并查看日志 5.2 在真机上运行并查看日志 5.3 查看apk包内日志 成功打包出apk文件并不代表真正成功,只
- IOS 其他 - 在真机调试的时候,将NSLog日志存入文件并保存到document目录
下面的方法都是在Appdelegate.m中 - (void)redirectNSLogToDocumentFolder{ NSString *fileName =[NSStringstringWit ...
- Xcode模拟器和真机生成的日志查看(ios必知必会)
在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DE ...
- Charles学习(四)之使用Map local代理本地静态资源以及配置移动端代理在真机上调试iOS和Android客户端...
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的 ...
最新文章
- c语言链表最高响应比优先,操作系统--最高响应比优先调度算法实验报告..doc
- 再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
- yml文件配置mysql表大小写_springboot常用配置(yml文件)
- java面试换背景颜色_实习|渣二本Java菜鸡0 Offer的春招血泪史,一定要主动去找实习呀!
- 蓝桥杯2014届试题9题 小朋友排队(树状数组+类逆序对)
- php说明代码怎么写,代码怎么写 - 起步 - PHP基础 - KK的小故事
- [react] 你有使用过loadable组件吗?它帮我们解决了什么问题?
- KITTI自动驾驶数据集可视化教程
- 第25版 OpenStack Yoga 已发布
- aop注解配置切点 spring_springboot aop 自定义注解方式实现一套完善的日志记录
- NameError: name 'file' is not defined
- coreldraw登录老是出现未知错误_原神:新版本bug频出,史莱姆消失,联机模式提示506错误码...
- day02【后台】管理员登录
- 【xinput1_3.dll下载】xinput1_3.dll丢失怎么修复win10
- COJ 3012 LZJ的问题 (有向图判环)
- 全球机场与航空公司准点率数据报告,为五一小长假做足准备
- 微信小程序显示当前时间
- 96道前端面试题,作出的职业规划建议
- windows清理8080端口
- 从面向对象的设计模式看软件设计
热门文章
- 计算机基础知识 教学反思,《计算机应用基础》教学反思
- 计算机网络 王道论坛2
- MySQL的ODBC驱动下载、安装以及配置数据源
- 一个企业固定资产折旧案例
- android4 触摸屏驱动,android中如何设计触摸屏驱动touch screen driver
- 虚幻四蓝图编辑之开关门
- 安装的python没有菜单栏_新手求助 为什么mac安装python后打开idle没有工具栏?
- android和emule区别,emule-project是什么?正宗电驴和VeryCD电驴有什么区别?
- 关于淘宝 TOP 开发 使用的一些心得,问题不断更新中。。。
- 通过URL传值在手机端打开一键导航