Objective c 如何运行;清除“;通过NSTask命令?

Objective c 如何运行;清除“;通过NSTask命令?,objective-c,cocoa,macos,bash,nstask,Objective C,Cocoa,Macos,Bash,Nstask,我正在制作一个免费的Mac应用程序,它只是“清除”命令的包装器,可以在终端上运行。我厌倦了Mac应用商店里充斥着的剽窃行为,我只是想帮助人们。我已经完成了GUI,我只是不知道如何成功运行该命令 我知道我需要使用NSTask,但我可能没有正确地使用它 NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/bin/sh"]; [task setArguments:[NSArray arrayWithObjects:@"Purge",

我正在制作一个免费的Mac应用程序,它只是“清除”命令的包装器,可以在终端上运行。我厌倦了Mac应用商店里充斥着的剽窃行为,我只是想帮助人们。我已经完成了GUI,我只是不知道如何成功运行该命令

我知道我需要使用
NSTask
,但我可能没有正确地使用它

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects:@"Purge", nil]];
[task launch];

我怎样才能解决这个问题

清除可执行文件位于
/usr/bin
中,因此:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/purge"];
[task launch]; 
或者更容易:

[NSTask launchedTaskWithLaunchPath:@"/usr/bin/purge" arguments:[NSArray array]];

purge
可执行文件位于
/usr/bin
中,因此:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/purge"];
[task launch]; 
或者更容易:

[NSTask launchedTaskWithLaunchPath:@"/usr/bin/purge" arguments:[NSArray array]];

谢谢它说启动路径是不可访问的,看起来我需要以su的身份运行它,但我能以编程的方式运行它吗?(Xcode5.1 osx小牛队)谢谢!它说启动路径是不可访问的,看起来我需要以su的身份运行它,但我能以编程的方式运行它吗?(Xcode5.1 osx小牛)