В моем приложении для какао я должен вызвать функцию system() для запуска внешнего приложения. Команда, которую я использую:system() call in cocoa app
system("./main &");
Если я запустить приложение с Xcode, он отлично работает, потому что я знаю папку, куда поместить основной.
Если я создаю архив и распространяю мое приложение .app, system() не может найти «главное». Где я должен это выразить? Или иначе, как я могу запустить приложение, используя «./», когда меня нет в папке, в которой находится приложение?
EDIT: Может быть, я решил использовать NSTask, но как я могу запустить «main» в фоновом режиме? Теперь он открывается в новом окне терминала.
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/Applications/Multibo/main"];
[task setArguments:[NSArray arrayWithObjects:[NSString stringWithFormat:@"./main &"], nil]];
[task launch];
Благодаря
Обратите внимание, что вы не можете делать какие-либо предположения о рабочем каталоге во время выполнения, поэтому вам нужен полный путь. –