iOS调试小技巧,在杀死程序怎么查看NSLog信息

最新在写推送时,点击获取推送传递的扩展字段,在程序激活状态下,可以通过xcode控制台查看NSLog信息,但是在程序退出状态下,想获取推送通知传递的字段,这时就是头疼的问题。

【1】真机调试

在程序杀死时,失去xcode链接,没有办法获取打印信息,这时可以在 AppDelegate中 的声明如下方法,用来把NSLog的信息打印到手机磁盘文件中

- (void)redirectNSlogToDocumentFolder
{
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
    NSString *documentDirectory = [paths objectAtIndex:0];
    
    NSString *fileName = [NSString stringWithFormat:@"dr.txt"];// 注意不是NSData!
    
    NSString *logFilePath = [documentDirectory stringByAppendingPathComponent:fileName];
    
    // 先删除已经存在的文件
    
    NSFileManager *defaultManager = [NSFileManager defaultManager];
    
    [defaultManager removeItemAtPath:logFilePath error:nil];
    
    // 将log输入到文件
    
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);
    
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);
    
}
复制代码

didFinishLaunchingWithOptions方法中调用上面方法,同时在Info.plist文件中添加一行UIFileSharingEnabled设置为YES,允许app同坐iTunes链接时,设置改app问共享性,这时就能获取到该app所在磁盘文件夹的文件,点击存储,到Mac桌面双击即可查看(示例中保存的txt格式文件),这时就能查看,程序的NSLog信息和xcode控制台打印的一样。

【2】模拟器调试

方法如果真机调试一样,声明方法,然后调用,在链接xcode时打印paths路径,复制,然后在Mac中右键Finder->前往文件夹,粘贴路径,这时就可以找到日志文件。

转载于:https://juejin.im/post/5b98850ce51d450e40069367

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值