【发布时间】:2013-02-21 14:42:33
【问题描述】:
我在将 xcode 项目输出显示到我的 terminal.app 时遇到问题。我可以让终端在运行时弹出,但是如何让“输出”显示到终端应用程序中。
【问题讨论】:
我在将 xcode 项目输出显示到我的 terminal.app 时遇到问题。我可以让终端在运行时弹出,但是如何让“输出”显示到终端应用程序中。
【问题讨论】:
所有 NSLog 都会自动打印在 Terminal.app 的系统日志中。
如果您想直接在终端中查看结果,您需要 将构建的产品作为终端的子项运行,这意味着使用 就像是 /path/debug/build/MyProgram.app/Contents/MacOS/MyProgram 启动 应用程序。
编辑:
如果您想将 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);
}
【讨论】:
当您在 Xcode 中运行您的应用程序时,所有输出都在“所有输出”窗格中。如果您只想保留它:选择它,复制它,然后将其粘贴到一个文件中(使用 TextEdit 或其他创建)。
默认情况下,在 Terminal.app 中运行您的应用不会保留输出。您可以使用 Unix 管道/重定向将其放入文件中,例如:
$ /path/to/myapp > /path/to/LogFile.txt
【讨论】: