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

use*_*246 7 macos sandbox entitlements appstore-sandbox

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

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

日志显示:

__CFPasteboardIssueSandboxExtensionForPath:[/ Users/TheUser/Downloads /]的错误

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

Jus*_*Sid 8

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

获得该安全范围的URL后,您必须调用该startAccessingSecurityScopedResource方法,然后拨打电话NSWorkSpace.不要忘记stopAccessingSecurityScopedResource事后调用(您可以在selectFile:inFileViewerRootedAtPath:返回后立即执行)以释放内核资源并避免无法进行更多调用startAccessingSecurityScopedResource.