sandbox:使用NSURL的bookmarkDataWithOptions方法获取NSData而不使用NSOpenPanel

时间:2014-07-20 02:41:46

标签: cocoa sandbox

我启用了沙箱,我想通过bookmarkDataWithOptions创建数据。 如果NSPanel创建的URL工作得很好。但是,如果我在不使用NSOpenPanel的情况下获取URL,则bookmarkDataWithOptions方法始终返回nil。为什么呢?

感谢如果我想设置一个特殊文件夹,默认可以不使用NSOpenPanel进行读/写。 我该怎么办?

由于

1 个答案:

答案 0 :(得分:1)

Sandbox的主要功能是安全性。如果应用程序可以在没有用户许可的情况下读/写任意文件夹,则安全性将被破坏。

App Sandbox Design Guide明确指出:

  

•在“打开”和“保存”对话框中模拟用户输入:   如果您的应用依赖于以编程方式操作“打开”或“保存”对话框来模拟或更改用户输入,则您的应用不适合沙盒。

实现类似功能的唯一方法是向其中一个预设目录(文档,图片,音乐等)添加读/写权利。有关进一步的文档,请查看此guide