在Xcode的控制台窗口中捕获文本

时间:2010-09-20 02:15:01

标签: objective-c xcode

我的问题是我希望捕获显示在的文本 执行应用程序时将Xcode控制台显示在一个应用程序中 我的应用程序中的文本框。

如果我覆盖NSLog,我可以捕获显式的NSLog命令 在计划过程中发布的。然而很多声明 不会捕获刚刚被编译器插入的内容。

有没有办法在应用程序时读取Xcode控制台缓冲区 运行并在应用程序中显示它?

2 个答案:

答案 0 :(得分:1)

您在Xcode的日志窗口中看到的是通常用于标准输出和标准错误文件流以及系统日志的消息的组合。如果要捕获这些流,则需要关闭它们并将它们重新打开为管道或文件。

如果这样做,the documentation表示如果从默认值重定向标准错误,NSLog将记录到该控制台以及控制台。因此,您无需覆盖它。

重定向标准错误和标准输出在Unix中是相当常见的事情。重定向到文件的基本技术是使用close(2)关闭文件描述符,然后使用open(2)pipe(2)重新打开它。

答案 1 :(得分:0)

Xcode控制台只是一个从控制台日志中读取错误等的窗口。尝试从那里阅读。