2015-12-02 4 views
0

В основном у меня есть контроллер представления, который действует как страница настройки. На ячейках вызывается функция «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) 

Это только кажется, что файл разве даже связывая ., как это было в прошлом Любая помощь будет высоко оценена

ответ

0

AFAIK NSTask не существует в IOS SDK Может попробовать objc_getClass («NSTask»);...., чтобы обойти проверку компиляции

+1

Врожденная это нет, вы правы на этом, ho wever я развиваюсь на джейлбрейк-устройстве. Поэтому использование NSTask в качестве закрытого заголовка в порядке со мной, так как мне не нужно подчиняться Apple. Это заняло заднее сиденье, пока Apple не может понять, как скомпилировать приложение, не увеличивая размер моего приложения с помощью быстрой библиотеки. – ChrisOSX

+0

@ChrisOSX Вот почему я советую просто перейти во время выполнения, чтобы избежать всех этих накладных расходов. –

+0

@ChrisOSX Как это получилось решить? 'let task = objc_getClass (" NSTask ")'? –

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

  • Нет связанных вопросов^_^