18

我一直在为此寻找几天和几个小时,我已经看到了很多这样的例子,但无法弄清楚NSTask是如何工作的,假设我想执行命令killall Dock 或类似的defaults write com.apple.Finder AppleShowAllFiles YES东西,我将如何去做。

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

谢谢你的帮助!!

4

1 回答 1

29

您可以执行以下操作:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/bash"];
[task setArguments:@[ @"-c", @"/usr/bin/killall Dock" ]];
[task launch];

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

于 2013-07-31T17:39:24.697 回答