相关疑难解决方法(0)

在设备上记录数据并检索日志

在Xcode中的调试版本中,无论我是使用模拟器还是实际设备,NSLog,printf,fprintf assert和NSAssert语句都出现在控制台上

如果我现在在设备上运行发布版本(比如说我发送了一个测试版本并在我的iPhone上加了大量的内容;这将是一个发布版本),其中哪些(如果有的话)被记录下来了?

我该如何检索日志?

NSLog实际上是否在发布版本上输出了什么?决定因素是什么?无论是写入stdout还是stderr?只有stderr写入设备日志?这是否意味着我必须使用fprintf?是否已将任何内容写入设备日志?甚至有这样的事情吗?如果是这样,如何捡起来?

有人可以澄清这种情况吗?

console xcode logging device ios

74
推荐指数
5
解决办法
8万
查看次数

如何将nslog输出重定向到文件而不是控制台

我在OS X上运行了cocoa应用程序.我已经使用NSLog进行调试.现在我想将日志语句重定向到文件而不是控制台.

我已经使用过这种方法,但它会导致在Console和文件中记录.

- (BOOL)redirectNSLog
{
    // Create log file
    [@"" writeToFile:@"/NSLog.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
    id fileHandle = [NSFileHandle fileHandleForWritingAtPath:@"/NSLog.txt"];
    if (!fileHandle)    return NSLog(@"Opening log failed"), NO;
    [fileHandle retain];

    // Redirect stderr
    int err = dup2([fileHandle fileDescriptor], STDERR_FILENO);
    if (!err)   return  NSLog(@"Couldn't redirect stderr"), NO;

    return  YES;
}
Run Code Online (Sandbox Code Playgroud)

是否有可能在控制台中没有日志语句但只能在文件中?

macos xcode cocoa nslog

17
推荐指数
3
解决办法
2万
查看次数

标签 统计

xcode ×2

cocoa ×1

console ×1

device ×1

ios ×1

logging ×1

macos ×1

nslog ×1