1

我为启用沙盒的 OSX 10.8 编写了一个下载管理器。

下载文件后,应用程序将使用该文件类型的默认应用程序启动该文件。

我尝试以这种简单的方式做到这一点:

[[NSWorkspace sharedWorkspace] openFile:file];

“文件”是一个 NSString 并指向 /Users/philipp/Library/Containers/com.philipp.downloader/Data/Downloads/Test mp3.mp3

iTunes 在我的扩展坞中跳了一会儿,但没有任何反应。

有什么问题,我该怎么做?


编辑:

问题是 iTunes 没有读取Test mp3.mp3的权限。我在我的system.log中找到了这条消息:

CoreServicesUIAgent[89712]:隔离解析拒绝 pid 87288,因为它不允许读取 /Users/philipp/Downloads/Test mp3.mp3

最后一个问题是:如何为该文件设置正确的权限?

最好的问候,

菲利普

4

1 回答 1

0

它要么需要在您的 Sandboxed 文件夹中,要么用户必须明确打开它。否则,您将无权访问。我建议修改您的方法,让用户以某种方式首先选择 MP3 文件,这样您就可以访问我了。只要确保为用户选择的文件启用访问权限!

于 2013-04-06T04:29:40.410 回答