在我的应用程序中放置“终端”?

时间:2010-02-03 19:01:16

标签: objective-c cocoa macos

是否有任何框架可以说,在我的应用程序中放置一个类似于Terminal.app的显示,然后像往常一样输出到STDOUT上显示文本?完成回滚等?

2 个答案:

答案 0 :(得分:4)

你可能想看看iTerm,一个用Cocoa编写的开源终端模拟器。如果您真的想要终端仿真,那么您可以从该框架中解脱出来。

答案 1 :(得分:3)

This thread有几点建议。第一个是UNIX'y - 您使用pipe()将stdout映射到新位置。然后,您需要另一个进程或线程来读取该管道并将其显示到NSTextView中。我喜欢的另一种方法,因为它看起来更干净,资源更少,是用你想要的钩子替换stdout()FILE指针中的File_writer_t _write proc,它将输出写入NSTextView。