Ejecución de comandos de shell con NSTask – Objective-C Cocoa

He estado buscando días y horas para esto, he visto muchos ejemplos de esto, pero no puedo entender cómo funciona NSTask , digamos que quería ejecutar el comando killall Dock o defaults write com.apple.Finder AppleShowAllFiles YES algo así, ¿cómo voy a hacer esto?

Sé cómo ejecutar un script de shell externo (sh) pero necesito ser más sofisticado y usar NSTask en su lugar.

¡¡Gracias por cualquier ayuda!!

Podrías hacer algo como:

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

Exactamente qué ruta de lanzamiento y argumentos proporciona son dictados por el comando que desea ejecutar y sus parámetros.