2013-07-31 15 views
17

Sono stato alla ricerca di giorni e ore per questo, ho visto molti esempi di questo, ma non riesco a capire come funziona NSTask, diciamo che volevo eseguire il comando killall Dock o defaults write com.apple.Finder AppleShowAllFiles YES qualcosa del genere, come potrei fare per farlo.Esecuzione di comandi shell con NSTask - Objective-C Cacao

So come eseguire uno script di shell esterno (sh), ma è necessario essere più sofisticato e utilizzare invece NSTask.

Grazie per qualsiasi aiuto !!

risposta

25

Si potrebbe fare qualcosa di simile:

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

Esattamente quello che il percorso di lancio e gli argomenti forniti sono dettate dal comando che si desidera eseguire e dei suoi parametri.

+0

Grazie per la risposta !, come potrei scoprire quale percorso di avvio ho bisogno per diversi comandi? – Ryan

+1

Il mio esempio imbroglia ed esegue una shell perché spesso è più semplice fornire il comando e i parametri in questo modo. È inoltre possibile passare il percorso all'host eseguibile unix che si desidera eseguire. – Wain

+0

Grazie mille, mi hai aiutato molto! – Ryan

Problemi correlati