在我的可可應用程序中,我必須調用system()函數來啓動外部應用程序。我使用的命令是:system()call in cocoa app
system("./main &");
如果我從運行Xcode中的應用程序,它工作得很好,因爲我知道的文件夾放在哪裏爲主。
如果我創建一個檔案,並分發我的.app應用程序,system()找不到「main」。我必須把它放在哪裏?否則,當我不在應用程序所在的文件夾中時,如何使用「./」運行應用程序?
編輯:也許我解決了使用NSTask,但我怎樣才能在後臺運行「主」?現在它在一個新的終端窗口中打開。
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/Applications/Multibo/main"];
[task setArguments:[NSArray arrayWithObjects:[NSString stringWithFormat:@"./main &"], nil]];
[task launch];
感謝
請注意,您不能在運行時對工作目錄做任何假設,因此您需要完整路徑。 –