2015-08-27 3 views
0

Есть ли способ программно запускать команды терминала OSX из приложения.Запустить команды терминала в приложении OSX?

Например, если бы я хотел перечислить все файлы в терминале mac, я бы использовал 'ls'. Если я сделал приложение OSX, можно ли запустить эту команду, а затем распечатать результат на консоли Xcode?

Я предполагаю, что это существует, потому что похоже на то, что должно существовать и со всеми утилитами в App Store. Я уверен, что некоторые из них выполняют команды терминала.

Во всяком случае, на коротких, как я могу запустить терминальные команды из приложения OSX

Ответы предпочтительно в Swift, но я могу перевести достаточно хорошо с Objective-C.

Спасибо!

ответ

0

Что вам нужно, это NSTask

Это doc И это только пример исполнения

NSString *path = @"/usr/local/bin/gls"; 
    NSArray *args = @[@"-l", @"-a", @"-F"]; 
    NSTask *task = [NSTask launchedTaskWithLaunchPath:path arguments:args]; 
    [task waitUntilExit]; 

Если вам также нужно использовать вывод инструмента командной строки вам необходимо используйте NSPipe, и вы можете найти хороший учебник here

Смежные вопросы