有没有办法用iCloud Drive支持最近删除的文件?

时间:2018-03-23 07:46:58

标签: ios icloud

简而言之:如何将我的应用用户删除的文档放入最近删除的iCloud Drive存储区?

详细版本:当您使用“文件”应用或iCloud.com从iCloud Drive删除文档时,它们会被添加到最近删除的30天内,用户可以从中恢复所述文档。我想在我自己的应用程序中复制此行为,但它们会被永久删除。

关于iCloud文件管理的Apple指南,特别是处理删除文档(here),指出使用FileManager方法(removeItemAtPath:removeItemAtURL:),但也明确指出他们得到永久删除。

这是我目前正在使用的方法,我甚至没有意识到恢复已删除文件的能力,直到用户问我如何恢复他们错误删除的文件。

无数的搜索短语会显示如何恢复文件的结果,但没有关于如何实现文件的结果,或者甚至可以完成...所以我在这里。

如果所有其他方法都失败:我想到的一个可能的解决方案是创建我自己的“已删除邮件”目录,其中项目在被清除之前会被移动一段时间。但是,如果有办法访问内置功能,那么显然这将更加用户友好且更易于实现。

1 个答案:

答案 0 :(得分:1)

我自己没有尝试过,但是根据您链接的文档,您可能正在寻找the ability to trash items。我相信这会将项目放入iCloud的Recently Deleted部分,但我不会在这里亲自限制我的知识,但是根据文档来判断这看起来像你正在寻找的,因为你得到了项目的新网址(在垃圾箱中),如果您需要恢复该项目,这将很方便。

万一链接因任何原因而死亡,我建议的方法是:

- (BOOL)trashItemAtURL:(NSURL *)url 
      resultingItemURL:(NSURL * _Nullable *)outResultingURL 
                 error:(NSError * _Nullable *)error;

这是一个NSFileManager实例方法。希望这有帮助!