Process.run возвращает «Файл« <command>»не существует». - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь написать небольшое приложение для запуска / остановки и отображения данных из командной строки «приложение», написанное кем-то другим. Исполняемый файл команды установлен в / usr / local / bin. Он выводит текстовые данные о состоянии в standardOutput во время работы. Я могу выполнить эту «команду» из Terminal.app без проблем. Из кода swiftUI я могу успешно выполнять «встроенные» команды, такие как ls. Однако когда (в коде swiftUI) я пытаюсь выполнить Process.run С новой командой, она выдает исключение «Файл« »не существует».

У кого-нибудь есть идеи? Заранее спасибо!

Вот фрагмент кода:

  // NOTE: "installedCommand" is just a placeholder for the actual command.
  let task = Process()
  let connection = Pipe()

  let exeUrl = URL(fileURLWithPath: "/usr/local/bin/installedCommand")
  //let exeUrl = URL(fileURLWithPath: "/bin/ls") <--works fine

  task.executableURL = exeUrl
  task.standardOutput = connection

  do
  {
      try task.run()
  }
  catch
  {
      print("Error: \(error.localizedDescription)")
      return
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...