Tom*_*Tom 18 unix macos cocoa command-line objective-c
这可能是一个愚蠢的问题,但我如何从我的Cocoa应用程序执行shell命令?
我将命令作为字符串"命令",但可以根据需要轻松操作数据.
无需获取返回的输出值.
Qui*_*lor 30
使用NSTask非常容易.对于同步调用,您可以使用类似此片段的内容:
NSString *path = @"/path/to/executable";
NSArray *args = [NSArray arrayWithObjects:..., nil];
[[NSTask launchedTaskWithLaunchPath:path arguments:args] waitUntilExit];
Run Code Online (Sandbox Code Playgroud)
该-waitUntilExit
调用确保它在继续之前完成.如果任务可以是异步的,你可以删除该调用,让NSTask做它的事情.
如果你只想运行某些东西并且不关心输出或返回代码(例如,你想要触摸文件),你可以做
system("touch myfile.txt");
Run Code Online (Sandbox Code Playgroud)
很简单.