2013-03-06 145 views

回答

0

所有的NSLog在系统日志中Terminal.app自动打印。

如果你想直接看到在终端的结果,你需要 运行内置产品作为终端的孩子,这意味着使用 像 /path/debug/build/MyProgram.app/Contents/MacOS/MyProgram启动应用程序 。

From Here


编辑:

如果你想给的NSLog重定向到一个文件使用:

-(void) redirectNSLogToFile { 
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *filePath=[paths objectAtIndex:0]; 
    NSString *logPath=[filePath stringByAppendingPathComponent:@"LogFile.txt"]; 
    freopen([logpath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr); 
} 
+0

因此,我不必在xcdoe中使用输出文件? – TWcode 2013-03-06 17:26:29

+0

xcode的输出文件是什么? – 2013-03-06 17:33:58

+0

我真正想要的是获取应用程序输出并将其导出到文本文件中。这是可能的还是我过度思考的事情? – TWcode 2013-03-06 17:34:31

0

当你在Xcode中运行你的应用程序的所有输出在“所有输出”窗格。如果你想保留,只需:选择它,复制它,并将其粘贴到一个文件(使用TextEdit或其他)创建。

默认情况下,在Terminal.app中运行您的应用程序将不会保留输出。您可以使用Unix管道/重定向将其存入文件中,例如:

$ /path/to/myapp > /path/to/LogFile.txt 
+0

我会在哪里放这个重定向? – TWcode 2013-03-06 18:06:54

+0

上面是你将在Terminal.app中输入的内容(这是实际在Terminal.app中运行的内容)。 – GoZoner 2013-03-06 18:49:04

+0

获取此错误消息/path/to/LogFile.txt:没有这样的文件或目录 – TWcode 2013-03-06 18:54:32