【发布时间】:2012-05-21 13:47:53
【问题描述】:
在我的可可应用程序中,我必须调用 system() 函数来启动外部应用程序。我使用的命令是:
system("./main &");
如果我从 Xcode 运行应用程序,它可以正常工作,因为我知道放置 main 的文件夹。
如果我创建存档并分发我的 .app 应用程序,system() 找不到“main”。我必须把它放在哪里??否则,当我不在应用程序所在的文件夹中时,如何使用“./”运行应用程序?
编辑:也许我使用 NSTask 解决了,但是如何在后台运行“main”?现在它在一个新的终端窗口中打开。
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/Applications/Multibo/main"];
[task setArguments:[NSArray arrayWithObjects:[NSString stringWithFormat:@"./main &"], nil]];
[task launch];
谢谢
【问题讨论】:
-
请注意,您不能在运行时对工作目录做出任何假设,因此您需要完整路径。
标签: objective-c c system