Вы можете запустить скрипт в приложении Cocoa, используя замечательный NSTask
, и он прекрасно работает. . Единственная проблема заключается в том, что мне нужно запустить несколько сценариев, а в моем приложении сценарии не могут быть объединены в один файл или один вызов — они должны запускаться приложением как отдельные задачи.
Проблема в том, что вы можете запустить только один NSTask
в приложении. Я не понимаю, почему это так, но, к сожалению, похоже, что это так. Я пробовал все, чтобы отладить его, но независимо от того, какой сценарий, простой или сложный, мое приложение просто выполнит только первое NSTask
, которое я запустил. Эта проблема уже возникала раньше, хотя и менее явно, и решения, похоже, не было.
Должен быть способ запустить более одного скрипта в приложении. Кто-нибудь знает способ обойти это или, возможно, альтернативный способ запустить скрипт? Все, что мне нужно сделать, это запустить очень короткий сценарий bash, который выполняет «установку».
Вот пример того, как я запускаю NSTask, если это поможет.
NSTask *task;
task = [NSTask launchedTaskWithLaunchPath: @"/bin/bash"
arguments:[NSArray arrayWithObjects: scriptPath, nil]
];
Он действительно работает для всех моих скриптов по отдельности, он просто не может запускать один за другим.