NSUserUnixTask
NSUserUnixTask
класс предназначается для запуска приложений Unix, обычно сценария оболочки, из приложения. Это предназначается для выполнения предоставленных пользователями сценариев и выполнит их за пределами песочницы приложения, если таковые имеются.
Класс не предназначается для выполнения сценариев, встроенных в приложение; для этого используйте один из NSTask
, NSAppleScript
, или AMWorkflow
классы. Если приложение поигралось в песочнице, то сценарий должен быть в NSApplicationScriptsDirectory
папка. Поигравшее в песочнице приложение может читать из, но не записать в, эта папка.
Если просто необходимо выполнить сценарии Unix вне зависимости от ввода или вывода, использовать NSUserScriptTask
, который может выполнить любой из определенных типов. Если Вы нуждаетесь в определенном управлении вводом к или выводите от, или поток сообщений об ошибках сценария, используйте этот класс.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.8 и позже.
-
Выполните сценарий Unix с указанными параметрами.
Объявление
Swift
func executeWithArguments(_
arguments
: [AnyObject]?, completionHandlerhandler
: NSUserUnixTaskCompletionHandler?)Objective C
- (void)executeWithArguments:(NSArray *)
arguments
completionHandler:(NSUserUnixTaskCompletionHandler)handler
Параметры
arguments
Массив
NSString
объекты, содержащие параметры сценария. Параметры не подвергаются расширению оболочки, таким образом, Вы не должны делать специального заключения в кавычки, и переменные оболочки не разрешены.handler
Блок обработчика завершения, возвращающий результат. Посмотрите
NSUserUnixTaskCompletionHandler
.Обсуждение
Этот метод должен быть вызван не больше, чем один раз для приведенного примера класса.
Если сценарий обычно завершался, обработчик завершения
error
параметр будетnil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
См. также
initWithURL:error:
(NSUserScriptTaskstandardInput
standardOutput
standardError
-
standardError standardError
СвойствоПоток стандартной погрешности.
Объявление
Swift
var standardError: NSFileHandle?
Objective C
@property(retain) NSFileHandle *standardError
Обсуждение
Установка в
nil
свяжет поток с/dev/null
.Значение по умолчанию
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
standardInput standardInput
СвойствоСтандартный входной поток.
Объявление
Swift
var standardInput: NSFileHandle?
Objective C
@property(retain) NSFileHandle *standardInput
Обсуждение
Установка в
nil
свяжет поток с/dev/null
.Значение по умолчанию
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
standardOutput standardOutput
СвойствоПоток стандартного вывода.
Объявление
Swift
var standardOutput: NSFileHandle?
Objective C
@property(retain) NSFileHandle *standardOutput
Обсуждение
Установка в
nil
свяжет поток с/dev/null
.Значение по умолчанию
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
См. также
Типы данных
-
Реализуйте этот блок для получения ошибки от Unix, заданного сценарием выполняемый
executeWithArguments:completionHandler:
.Объявление
Swift
typealias NSUserUnixTaskCompletionHandler = (NSError!) -> Void
Objective C
typedef void (^NSUserUnixTaskCompletionHandler)(NSError *error);
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.