Mac OS X:在finder + App Sandbox中打开文件

时间:2011-08-03 14:00:48

标签: macos sandbox entitlements appstore-sandbox

我尝试打开一个工作正常的取景器窗口,但每次我这样做都有1秒延迟并记录错误。

  

[[NSWorkspace sharedWorkspace] selectFile:@“Users / [TheUser] / Downloads”   inFileViewerRootedAtPath:pathStr];

日志显示:

  

__ CFPasteboardIssueSandboxExtensionForPath:错误   [/用户/ TheUser /下载/

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

1 个答案:

答案 0 :(得分:7)

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

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