由于某些原因,当我尝试通过NSTask运行任务时,我收到错误消息:“启动路径不可访问”。使用NSTask作为根 - 错误:“启动路径不可访问”
我的应用程序以root身份运行。如果我在终端键入EXACT命令,它运行良好,所以我有点困惑。
我的应用程序将一个名为relaunch的工具复制到NSTemporaryDirectory()
。如果我尝试从这里运行它,我会得到“启动路径无法访问”。这是奇怪的事情,如果我手动将工具复制到我的桌面,然后在NSTask中硬编码路径,它将正确执行。我有0个想法为什么。
任何人都知道这是为什么发生?
注意:仅供参考,试图让Sparkle从github工作。
下面是代码:
@try{
[NSTask launchedTaskWithLaunchPath:relaunchPath arguments:[NSArray arrayWithObjects:pathToRelaunch, [NSString stringWithFormat:@"%d", [[NSProcessInfo processInfo] processIdentifier]], nil]];
}
凡
relaunchPath = @"/var/folders/zz/zzzivhrRnAmviuee+++++++++++/-Tmp-/relaunch";