我知道沙盒的限制,并且我让用户保存文件的常用技术是通过NSSavePanel
,它会自动授予应用程序对用户指示的位置的必要权限。
现在,这是......并不罕见的场景:
- 用户在我的应用中创建了一个新文件
- 第一次保存(因此,
NSSavePanel
显示是有充分理由的) - 然后编辑文档的内容(请注意,我的应用不是典型的
NSDocument
兼容应用) - 最后他想重新保存它。 (不是“将(它)保存为..”,而只是...“保存(它)” - 因为他已经指定了一个位置,对吗?)
这怎么可行?实现这一目标的“批准”方式是什么?我读过有关书签的内容,但是 a) 我不确定它是否是我需要的,b) 我还没有找到任何真正的代码示例。
那么,有什么想法吗?
<小时/>请注意:无论如何,该解决方案也必须在 10.6 上功能齐全。
<小时/>更新: 嗯...这很奇怪(或者至少是意想不到的)。刚刚尝试在已通过 NSSavePanel 选择的先前位置重新保存,它似乎正在工作(不执行任何操作)。那可能吗? (是的,只需重新检查两次:该应用程序已沙盒化)
最佳答案
您提供了自己的答案 - “根据用户的指示自动向应用授予该位置的必要权限” - 当用户在文件面板中选择文件时,沙箱将扩展以包含所选位置,并在当前执行的其余部分中,您的应用程序可以访问它。
关于objective-c - 沙箱和保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18416165/