简而言之:如何将我的应用用户删除的文档放入最近删除的iCloud Drive存储区?
详细版本:当您使用“文件”应用或iCloud.com从iCloud Drive删除文档时,它们会被添加到最近删除的30天内,用户可以从中恢复所述文档。我想在我自己的应用程序中复制此行为,但它们会被永久删除。
关于iCloud文件管理的Apple指南,特别是处理删除文档(here),指出使用FileManager方法(removeItemAtPath:
和removeItemAtURL:
),但也明确指出他们得到永久删除。
这是我目前正在使用的方法,我甚至没有意识到恢复已删除文件的能力,直到用户问我如何恢复他们错误删除的文件。
无数的搜索短语会显示如何恢复文件的结果,但没有关于如何实现文件的结果,或者甚至可以完成...所以我在这里。
如果所有其他方法都失败:我想到的一个可能的解决方案是创建我自己的“已删除邮件”目录,其中项目在被清除之前会被移动一段时间。但是,如果有办法访问内置功能,那么显然这将更加用户友好且更易于实现。
答案 0 :(得分:1)
我自己没有尝试过,但是根据您链接的文档,您可能正在寻找the ability to trash items。我相信这会将项目放入iCloud的Recently Deleted
部分,但我不会在这里亲自限制我的知识,但是根据文档来判断这看起来像你正在寻找的,因为你得到了项目的新网址(在垃圾箱中),如果您需要恢复该项目,这将很方便。
万一链接因任何原因而死亡,我建议的方法是:
- (BOOL)trashItemAtURL:(NSURL *)url
resultingItemURL:(NSURL * _Nullable *)outResultingURL
error:(NSError * _Nullable *)error;
这是一个NSFileManager
实例方法。希望这有帮助!