У меня проблемы с запуском команды терминала из приложения какао. Вход для Терминала очень прост: /Users/.../Csvmidi </Users/.../test.csv> /Users/.../Melody.mid
Это три входа - три фактических пути - просто записываются в строку и разделяются spa c: первый "Csvmidi" запускает приложение Unix, которое преобразует test.csv в фактический слышимый MIDI-файл. Через терминал он работает отлично ...
Я просто не могу заставить его работать через приложение Какао.
let process = Process()
process.executableURL = URL(fileURLWithPath: "/bin/zsh/")
process.arguments = [lblCsvmidi.stringValue,"<"+lblURL.stringValue+">",lblMidi.stringValue]
//I saved the URL of the UNIX program, test.csv and Melody.mid in a lable just to be sure.
//lblCsvmidi --> URL of Csvmidi UNIX program
//lblURL --> URL of test.csv
//lblMidi --> URL of Melody.mid
print(lblCsvmidi.stringValue,"<" + lblURL.stringValue + ">",lblMidi.stringValue)
// this print command was only made to check the arguments in the terminal if they would work --> they do
process.terminationHandler = { (process) in
print("\ndidFinish: \(!process.isRunning)")
}
do {
try process.run()
} catch {}
Когда я запускаю код, он выдаёт мне либо ошибку 75: unmatched"
, но на самом деле в команде нет кавычки - или я получаю ошибки «Отказано в доступе».
Я попробовал несколько папок bin вроде (я действительно попробовал почти все возможные): - / bin / zsh - / bin / csh - / bin / ksh - ... Что я делаю не так -> У меня нет Здесь я нашел информацию в других Вопросах, и информация о процессах, NSTask и Bundle от Apple мне пока не помогла.
Спасибо !!