Выполнение команд оболочки с помощью NSTask - Objective-C Cocoa
Я искал дни и часы для этого, я видел много примеров этого, но не могу понять, как работает NSTask, скажем, я хотел выполнить команду killall Dock
или defaults write com.apple.Finder AppleShowAllFiles YES
что-то вроде этого, как бы я это сделал.
Я знаю, как выполнить внешнюю оболочку script (sh), но вам нужно быть более сложным и вместо этого использовать NSTask.
Спасибо за любую помощь!
Ответы
Ответ 1
Вы можете сделать что-то вроде:
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/bash"];
[task setArguments:@[ @"-c", @"/usr/bin/killall Dock" ]];
[task launch];
Точно, какой путь запуска и аргументы вы предоставляете, продиктована командой, которую вы хотите запустить, и ее параметрами.