从基于Objective C的GUI运行命令行实用程序

时间:2014-04-02 11:00:14

标签: objective-c xcode macos cocoa

我有一个“libsndfile”基于Automake的命令,如实用程序,我移植到MAC OS Mavericks。 我为它编写了一个小的GUI,使用Xcode和NSOpenPanel类在finder中选择一个文件。 我的GUI为我提供了我选择的文件名。

如何将2件装在一起?我想创建一个安装GUI和的DMG文件 命令行实用程序,并使用从GUI获取的文件名调用该命令行实用程序。

示例:

2014-04-02 03:37:23.775 Splitter[542:303] file:///Users/simon/src/libsndfile-1.0.25/RefFiles/take2_ch7n8.wav
从GUI接收

。然后调用该实用程序:

sndfile-deinterleave ./take2_ch7n8.wav 

分割文件。

很抱歉,如果这是一个基本问题。没有太多使用Xcode和OS-X应用程序的经验。

1 个答案:

答案 0 :(得分:0)

您要找的班级是NSTask

但是,请注意,这会从您的应用程序中获取环境,因此不要期望从终端运行命令行应用程序时看到的环境相同。几年前我就这样了,我问a question有关它。

该问题的链接还显示了使用NSTask的示例。

需要注意的另一件事是,在文档链接中提到的是,您需要做更多的工作才能在沙盒环境中工作。