2011-08-03 47 views
7

我尝试打开一个工作正常的finder窗口,但每次我这样做时,都会有1秒的延迟并记录一个错误。Mac OS X:在finder + App Sandbox中打开文件

[[NSWorkspace sharedWorkspace]选择文件:@ “用户/ [TheUser] /下载” inFileViewerRootedAtPath:pathStr];

的日志显示:

__CFPasteboardIssueSandboxExtensionForPath:错误 [/用户/ TheUser /下载/]

这是正常的?我已启用权利并允许下载文件夹访问权限。

+0

我有同样的问题。你能解决吗? – Daniel

+0

我也一直在看这个,想知道答案。 – Dov

回答

7

有点晚,但我也偶然发现了这一点,并找到了答案。对于这个警告/错误/无论它将消失,你需要有一个安全范围的URL到路径中(那对你来说可能会很棘手,因为要获得这样一个URL,你必须必须使用NSOpenPanel并惹恼使用,即使您拥有该文件夹的权利!)。

一旦您拥有该安全范围的URL,您必须致电startAccessingSecurityScopedResource方法,之后再致电NSWorkSpace。之后不要忘记致电stopAccessingSecurityScopedResource(您可以在selectFile:inFileViewerRootedAtPath:返回后立即执行此操作)以释放内核资源并避免无法拨打更多电话给startAccessingSecurityScopedResource