使用NSTask执行shell命令 - Objective-C Cocoa

Rst*_*tew 18 macos cocoa objective-c nstask

我一直在寻找这个日子和时间,我已经看到了很多这方面的例子,但是无法弄清楚NSTask是如何工作的,让我说我想执行命令killall Dockdefaults write com.apple.Finder AppleShowAllFiles YES类似的东西,我将如何去做这个.

我知道如何执行外部shell脚本(sh),但需要更复杂并使用NSTask.

谢谢你的帮助!!

Wai*_*ain 28

你可以这样做:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/bash"];
[task setArguments:@[ @"-c", @"/usr/bin/killall Dock" ]];
[task launch];
Run Code Online (Sandbox Code Playgroud)

确切地说,您提供的启动路径和参数由您要运行的命令及其参数决定.