В основном у меня есть контроллер представления, который действует как страница настройки. На ячейках вызывается функция «killall backboardd», чтобы перезапустить трамплин.NSTask и iOS Swift 2.0
Однако, поскольку переписывание моего приложения из объектива-c, чтобы использовать swift, я обнаружил, что столкнулся с некоторыми ошибками.
Первое, что команда system() устарела. ОК. Поэтому рекомендуется использовать вместо этого posix_spawn API. Хорошо, ничего не знаю об этом, на самом деле не нужно исследовать. Поэтому я решил использовать NSTask. Я использую его в старой версии, так почему бы и нет?
Я добавил заголовок среды выполнения в папку Foundation.framework. очистить проект, перезапустить xcode только, чтобы обнаружить, что у меня есть предупреждение. «Использование неразрешенного идентификатора„NSTask“
У меня есть фонд импорта так, Что с ошибкой Вот что я работаю с:
let task = NSTask() <----ERROR
task.launchPath = "/usr/bin"
task.arguments = ["killall backboardd"]
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
if let output = NSString(data: data, encoding: NSUTF8StringEncoding) {
print(output)
}
task.waitUntilExit()
let status = task.terminationStatus
print(status)
Это только кажется, что файл разве даже связывая ., как это было в прошлом Любая помощь будет высоко оценена
Врожденная это нет, вы правы на этом, ho wever я развиваюсь на джейлбрейк-устройстве. Поэтому использование NSTask в качестве закрытого заголовка в порядке со мной, так как мне не нужно подчиняться Apple. Это заняло заднее сиденье, пока Apple не может понять, как скомпилировать приложение, не увеличивая размер моего приложения с помощью быстрой библиотеки. – ChrisOSX
@ChrisOSX Вот почему я советую просто перейти во время выполнения, чтобы избежать всех этих накладных расходов. –
@ChrisOSX Как это получилось решить? 'let task = objc_getClass (" NSTask ")'? –