如何在Mac OS X应用程序中实现终端?

时间:2012-12-27 23:04:32

标签: objective-c macos

所以我创建了一个应用程序(简单的IDE),您可以在其中编写/编辑ada代码并将其保存到temp.adb文件中。 要编译文件,我应该打开终端并导航到temp.adb目录。并执行

gnatmake temp.adb

如果temp.adb有错误,则终端会显示错误,否则temp.adb会在终端内执行。但是我不希望用户单独使用终端和写命令。我只是希望用户点击“构建并运行”按钮,它必须编译文件并在应用程序中显示结果。

我的问题是,是否可以直接在应用中显示编译错误?并直接在应用程序中执行temp.adb?我在哪里可以阅读更多相关信息?有什么提示吗? 这就是应用程序的样子。黑色视图代表控制台区域。 This is how the app looks like. The black view is a textfield which represents the console area.

1 个答案:

答案 0 :(得分:2)

使用NSTask运行shell(在OS X上可能是bash),并使用适当的参数来编译或运行代码。然后使用NSPipe将stdout和stderr重定向到输出文本视图。

我做的几乎一样,但对于shell脚本,它应该可以工作。