首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sandbox打开文件

使用Sandbox打开文件
EN

Stack Overflow用户
提问于 2013-03-01 10:23:33
回答 2查看 243关注 0票数 0

好的,我知道在新的SandBox准则下,打开文件必须遵守某些规则(a.k.a )。打开操作必须由用户使用NSOpenPanel触发,当然,给出了必要的“打开”权限)。

然而,的问题是:

  • 在我的应用程序中,我有一个NSOutlineView,其中包含一个完整的文件管理器(完整的树结构)
  • 用户应该能够从大纲视图中选择一个文件,然后应用程序会打开它。

考虑到应用程序应该是100%的沙箱兼容,我该怎么做呢?有没有已知的解决办法?有可能吗?

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-01 10:27:42

简短的回答:你不能那么做。为了显示应用程序UI中文件夹的内容,首先必须让用户使用打开的面板或从Finder中拖动它。

票数 0
EN

Stack Overflow用户

发布于 2013-11-23 15:01:29

您可以这样做,正如@omz所说,您的应用程序需要请求访问包含应用程序显示的所有文件/文件夹的文件夹的权限。您不需要对单个文件的权限,但可以将整个目录结构作为单个权限来获取,然后将其存储为安全范围内的书签,这样以后对应用程序的执行就已经具有了该权限。

您甚至可以在app启动时询问用户访问整个硬盘驱动器或他们的整个用户目录的权限。

您可以使用我编写的这个类将所有这些封装到一个函数调用中,然后函数调用将持久化权限,因此只在第一次运行时才会询问它们。https://github.com/leighmcculloch/AppSandboxFileAccess

或者,如果您想手动使用NSOpenPanel,只需查看AppSandboxFileAccess中的代码,因为它使用它获得权限,然后持久化这些权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15155371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档