使用OSX 10.8沙箱中的应用程序显示包含默认应用程序的文档

时间:2012-08-03 07:09:01

标签: objective-c sandbox osx-mountain-lion

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

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

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

  

[[NSWorkspace sharedWorkspace] openFile:file];

     

“file”是NSString并指向   /Users/philipp/Library/Containers/com.philipp.downloader/Data/Downloads/Test   mp3.mp3

iTunes在我的Dock中跳了一段时间,但是没有任何事情发生。

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


编辑:

问题是iTunes无权读取 Test mp3.mp3 。 我在 system.log 中找到了此消息:

  

CoreServicesUIAgent [89712]:隔离决议拒绝pid 87288   因为不允许阅读/ Users / philipp / Downloads / Test   mp3.mp3

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

最好的问候,

菲利普

1 个答案:

答案 0 :(得分:0)

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