gpt4 book ai didi

objective-c - 沙箱和 NSTask

转载 作者:太空狗 更新时间:2023-10-30 03:38:35 25 4
gpt4 key购买 nike

在提交到 Mac 应用程序商店之前,我试图对我的应用程序进行沙盒处理,我需要打开一个 dmg 文件。我尝试了以下方法,但我不知道它是否适用于 Apple Sandbox。

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/hdiutil"];
[task setArguments:
[NSArray arrayWithObjects: @"attach", [NSString stringWithFormat:@"%@/myfile.dmg", documentsDirectory], nil]];
[task launch];
[task waitUntilExit];
if (0 != [task terminationStatus])
NSLog(@"Mount failed.");
[task release];

如果我将完整路径粘贴到终端,它会起作用,如果我从应用程序运行,我会收到以下错误:

diskimages-helper[11437:303] ERROR: couldn't connect to framework.
diskimages-helper[11437:303] DIHelper: setupConnectionToFrameworkWithUUID: failed
hdiutil: attach failed - No child processes
Mount failed.

感谢您的帮助!S.

最佳答案

NSTask 和 Sandboxing 的官方说法是“某些可执行文件可能有效”。对我来说,这意味着“不要指望它”。虽然这个可执行文件似乎确实正确地显示了帮助菜单,但我确实在 Console.app 中看到了沙盒错误,这让我很警惕。 Screenshot

我同意 CodaFi在这一点上,您绝对不应该指望它按照您的意愿行事。

关于objective-c - 沙箱和 NSTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119191/

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