gpt4 book ai didi

objective-c - 有没有办法运行两个或多个 NSTasks?

转载 作者:行者123 更新时间:2023-12-03 16:52:51 24 4
gpt4 key购买 nike

您可以使用精彩的 NSTask 在 Cocoa 应用程序中运行脚本。 ,而且效果很好。唯一的问题是我需要运行多个脚本,并且在我的应用程序中,这些脚本无法合并到一个文件或一个调用中 - 它们必须由应用程序作为单独的任务运行。

问题是,显然您只能在应用程序中运行一个 NSTask。我不明白为什么会这样,但可悲的是,似乎是这样。我已经尝试了一切来调试它,但无论脚本是什么,多简单或多复杂,我的应用程序都只会执行我运行的第一个 NSTask。 This problem has come up before ,虽然不太直接,而且似乎没有解决方案。

必须有一种方法可以在应用程序中运行多个脚本。有谁知道我可以解决这个问题的方法,或者可能是运行脚本的替代方法?我需要做的就是运行一个非常短的 bash 脚本来执行“make install”。

这是我如何运行 NSTask 的示例,以防有帮助。

NSTask *task;
task = [NSTask launchedTaskWithLaunchPath: @"/bin/bash"
arguments:[NSArray arrayWithObjects: scriptPath, nil]
];

它确实适用于我的所有脚本,只是无法依次运行。

最佳答案

当然,您可以使用多个 NSTask。只需使用其 init 方法而不是其便捷方法,并手动设置属性即可:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/true"];
[task launch];

关于objective-c - 有没有办法运行两个或多个 NSTasks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com