Вы можете запустить скрипт в приложении Cocoa, используя замечательный NSTask
, и он отлично работает. Единственная проблема заключается в том, что мне нужно запустить несколько сценариев, а в моем приложении сценарии не могут быть объединены в один файл или один вызов - они должны запускаться как отдельные задачи приложением.Есть ли способ запустить две или более NSTasks?
Проблема заключается в том, что, по-видимому, вы можете запускать только один из NSTask
в приложении. Я не понимаю, почему это так, но, к сожалению, похоже. Я пробовал все, чтобы отлаживать его, но независимо от того, какой сценарий, насколько простой или сложный, мое приложение просто выполнит только первый NSTask
, который я запускаю. This problem has come up before, хотя и менее прямо, и, похоже, не было решения.
Должен быть способ запуска нескольких сценариев в приложении. Кто-нибудь знает способ, которым я могу обойти это, или, возможно, альтернативный способ запуска сценария? Все, что мне нужно сделать, это запустить очень короткий скрипт bash, который выполняет «make install».
Вот пример того, как я запускаю NSTask, если это помогает.
NSTask *task;
task = [NSTask launchedTaskWithLaunchPath: @"/bin/bash"
arguments:[NSArray arrayWithObjects: scriptPath, nil]
];
Это действительно работает для всех моих скриптов в отдельности, он просто не может запускать один другой.
Я использую сбор мусора и автоматический подсчет ссылок здесь (от xcode4), поэтому я не должен использовать alloc и init ... есть ли какой-либо другой способ сделать это возможным? –
Вы можете, безусловно, использовать alloc/init как с сборкой мусора, так и с ARC. Тем не менее, нет причин использовать ARC и сборку мусора одновременно (будет ли Xcode даже позволять вам?). –
Тестирование этого сейчас ... в прошлом, когда я использовал alloc init, он бросил мне ошибку –