Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Ios 在我的应用程序打开一个文件后,保留对该文件的引用,以便我以后可以再次打开它_Ios_Objective C - Fatal编程技术网

Ios 在我的应用程序打开一个文件后,保留对该文件的引用,以便我以后可以再次打开它

Ios 在我的应用程序打开一个文件后,保留对该文件的引用,以便我以后可以再次打开它,ios,objective-c,Ios,Objective C,我有。我想无限期地将这些文件保存在我的应用程序中,即使在应用程序关闭之后。稍后,我想让用户回放应用程序中打开的所有文件 我如何允许program my app记住以前在其中打开过哪些文件,并在不询问其他应用权限的情况下处理这些文件?您不必“在不询问其他应用权限的情况下处理它们”。事实上,你的应用程序从来没有能力查看其他应用程序的沙箱——这违反了沙箱的全部要点。当您的应用程序收到打开已移交文件的通知时,该文件已(由系统)复制到您的文档目录的收件箱文件夹中 它仍然存在(如果你自己不删除它)。所以访问

我有。我想无限期地将这些文件保存在我的应用程序中,即使在应用程序关闭之后。稍后,我想让用户回放应用程序中打开的所有文件

我如何允许program my app记住以前在其中打开过哪些文件,并在不询问其他应用权限的情况下处理这些文件?

您不必“在不询问其他应用权限的情况下处理它们”。事实上,你的应用程序从来没有能力查看其他应用程序的沙箱——这违反了沙箱的全部要点。当您的应用程序收到打开已移交文件的通知时,该文件已(由系统)复制到您的文档目录的收件箱文件夹中

它仍然存在(如果你自己不删除它)。所以访问它没有问题。系统通知您继续工作时提供给您的参考!当然,此时您可以在沙箱中的其他位置自由复制它。但关键是,它已经在您的沙箱中,并且您已经有了对它的工作引用

(但请注意,如果您的应用程序通过iTunes[“应用程序支持iTunes文件共享”,
UIFileSharingEnabled
],实现“文件共享”,因为在这种情况下,通过iTunes公开的是文档目录,因此用户可以从收件箱中删除文件。)

您不必这样做“在不询问其他应用程序权限的情况下处理它们”。事实上,你的应用程序从来没有能力查看其他应用程序的沙箱-这违反了沙箱的整个要点。当通知你的应用程序打开移交的文件时,该文件已经(由系统)复制到你的文档目录的收件箱文件夹中

它仍然存在(如果您自己不删除它)。因此,访问它没有问题。系统通知您时提供给您的引用将继续工作!当然,您可以在此时在沙箱中的其他位置复制它。但问题是,它已经在您的沙箱中,并且您已经有了对它的工作引用


(但请注意,如果您的应用程序通过iTunes实现“文件共享”[“应用程序支持iTunes文件共享”,
UIFileSharingEnabled
),因为在这种情况下,通过iTunes公开的是文档目录,因此用户可以从收件箱中删除文件。)

我征求了一位教授的意见,他建议使用将其他应用程序告诉我打开的文件复制到我的应用程序的私人文档目录中。如果这种方法对我有效,我会将其作为答案发布。阅读安全范围的书签,远比复制文件要好。我向一位教授征求了他的意见,他回答说建议使用将其他应用程序告诉我打开的文件复制到我的应用程序的私有文档目录中。如果这种方法对我有效,我会将其作为答案发布。阅读安全范围的书签,比复制文件要好得多。iTunes不显示收件箱的内容。真正的危险是用户可能会通过iTunes删除整个收件箱。iTunes不会显示收件箱的内容。真正的危险是用户可能通过iTunes删除整个收件箱。