iOS获取真机调试的log日志

1.此函数要在

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

中调用,这个函数在AppDelegate.m中实现的。

// 将NSlog打印信息保存到Document目录下的文件中
- (void)redirectNSlogToDocumentFolder
{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDirectory = [paths objectAtIndex:0]; 
NSString *fileName = [NSString stringWithFormat:@"dr.log"];
// 注意不是NSData! 
NSString *logFilePath = [documentDirectory stringByAppendingPathComponent:fileName]; 
// 先删除已经存在的文件 
NSFileManager *defaultManager = [NSFileManager defaultManager]; 
[defaultManager removeItemAtPath:logFilePath error:nil]; // 将log输入到文件 
freopen([logFilePathcStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout); 
freopen([logFilePathcStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);} 
/*******************************************************************************/
// 当真机连接Mac调试的时候把这些注释掉,否则log只会输入到文件中,而不能从xcode的监视器中看到。 
// 如果是真机就保存到Document目录下的drm.log文件中 UIDevice *device = [UIDevice currentDevice];
 if (![[device model] isEqualToString:@"iPad Simulator"]) { 
// 开始保存日志文件 
[self redirectNSlogToDocumentFolder]; }
/*******************************************************************************/

2.修改配置文件 修改项目下的Info.plist , 添加UIFileSharingEnabled键,并将键值设置为YES,添加之后, 添加之后会变成 Application supports iTunes file sharing YES

Paste_Image.png

3.连接真机设备,连接iTunes,导出log 即可 连接真机设备之后,从应用程序里面找到dr.log 然后导出就可以了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 使用Xcode 在模拟器运行的时候,可以直接通过xcode 查看log,但是真机测试的时候,xcode 却无法获取...
    流沙3333阅读 5,292评论 0 3
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,211评论 30 472
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,967评论 19 139
  • 把笑挡起来 只让你看到 我有多狠
    影子岩阅读 137评论 0 0
  • auction room 拍卖室 anonymous bidders 匿名出价人 hundred thousand...
    草莽书生阅读 246评论 0 0