【问题标题】:Show a document with default application from an App in a OSX 10.8 sandbox在 OSX 10.8 沙箱中显示带有默认应用程序的文档
【发布时间】:2012-08-03 07:09:01
【问题描述】:

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

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

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

[[NSWorkspace sharedWorkspace] openFile:file];

"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

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

最好的问候,

菲利普

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2013-07-28
      相关资源
      最近更新 更多