Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 沙盒和保存文件_Objective C_Macos_Cocoa_Sandbox_Nssavepanel - Fatal编程技术网

Objective c 沙盒和保存文件

Objective c 沙盒和保存文件,objective-c,macos,cocoa,sandbox,nssavepanel,Objective C,Macos,Cocoa,Sandbox,Nssavepanel,我知道沙盒的局限性,我通常让用户保存文件的方法是通过NSSavePanel,它会自动向应用程序授予必要的位置权限,如用户所示 现在,这是。。。并非罕见的情况: 用户在我的应用程序中创建新文件 保存是第一次(因此,NSSavePanel显示有很好的理由) 然后编辑文档内容(请注意,我的应用程序不是典型的NSDocument兼容应用程序) 最后他想重新保存它。(不是“将(它)另存为…”而是“保存(它)”-因为他已经指定了一个位置,对吗?) 这怎么可能?实现这一目标的“认可”方式是什么?我读过关于

我知道沙盒的局限性,我通常让用户保存文件的方法是通过
NSSavePanel
,它会自动向应用程序授予必要的位置权限,如用户所示

现在,这是。。。并非罕见的情况:

  • 用户在我的应用程序中创建新文件
  • 保存是第一次(因此,
    NSSavePanel
    显示有很好的理由)
  • 然后编辑文档内容(请注意,我的应用程序不是典型的
    NSDocument
    兼容应用程序)
  • 最后他想重新保存它。(不是“将(它)另存为…”而是“保存(它)”-因为他已经指定了一个位置,对吗?)
这怎么可能?实现这一目标的“认可”方式是什么?我读过关于书签的书,但是a)我不确定它是否是我需要的,b)我还没有找到任何真正的代码示例

有什么想法吗


请注意:无论如何,解决方案也必须在10.6版中完全可用



更新:嗯。。。这很奇怪(或者至少出乎意料)。刚刚尝试在通过
NSSavePanel
选择的上一个位置重新保存,它似乎正在工作(不做任何操作)。可能吗?(是的,只需重新检查两次:应用程序是沙盒的)

您提供了自己的答案-“这会自动授予应用程序必要的位置权限,如用户所示”-当用户在“文件”面板中选择文件时,沙盒将扩展以包括所选位置,并且在当前执行的其余时间,您的应用程序将访问它。

经过100次测试后-或多或少!哈哈,我核实一下。不需要更多了。:-)