Как запустить инструмент командной строки `aerender` через NSTask / Process? - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь создать концептуальное приложение MacOS для визуализации файла проекта Adobe After Effects, выполнив инструмент aerender из командной строки через NSTask / Process, но без особого успеха.

var task: Process = Process()

func render()

    let compPath = "/Users/Admin/Documents/test-proj.aep"

    task.launchPath = "/Applications/Adobe After Effects CC 2019/aerender"
    task.arguments = ["-project", compPath,
                      "-comp", "output"]

    do {
        try task.run()
    } catch let error {
        print(error)
    }
}

Приведенный выше код успешно запускает After Effects в фоновом режиме, но журналы выдают следующий результат:

aerender version 16.1.1x4
PROGRESS: Launching After Effects...
aerender ERROR -1701: AEGetParamPt failed at line 780

Я также пытался поместить команды в отдельный сценарий Shell и вместо этого выполнить их из приложения, но это также дает те же результаты.

Я могу успешно запускать те же команды непосредственно в Терминале, используя bash и zsh, и отлично воспроизводить видео. Так что я думаю, что это ошибка с NSTask / Process, а не aerender.

Приложение имеет:

  • Песочница приложения выключена
  • Полные права доступа к диску для чтения и пиши.

На данный момент я открыт для всех идей и ответов в Obj-C или Swift! ?

Спасибо за чтение!

...