简而言之:如何将我的应用程序用户删除的文档放入 iCloud 云盘储存空间的最近删除部分?
详细版本:当您使用"文件"应用或 iCloud.com 从iCloud云盘中删除文档时,它们将被添加到最近删除的30天内,用户可以从中恢复所述文档。我想在我自己的应用程序中复制此行为,但是它们会被永久删除。
关于iCloud文件管理的Apple指南,专门处理删除文档(此处),指出使用FileManager方法(removeItemAtPath:
和removeItemAtURL:
),但也特别指出它们将被永久删除。
这是我目前正在使用的方法,我什至幸福地不知道恢复已删除文件的能力,直到用户问我如何恢复他们错误删除的文件。
无数的搜索短语显示了有关如何恢复文件的结果,但没有关于如何实现它的结果,或者是否可以做到......所以我来了。
如果所有其他方法都失败了:我想到的一个可能的解决方案是创建我自己的"已删除邮件"目录,在清除之前将项目移动到该目录一段时间。但是,如果有一种方法可以访问内置功能,显然这将更加用户友好且易于实现。
我自己还没有尝试过这个,但是从您链接的文档来看,您可能正在寻找垃圾物品的能力。我相信这会将项目放入iCloud的Recently Deleted
部分,但这就是我不尝试的地方,我个人限制了我在这里的知识,但从文档来看,这似乎是您正在寻找的,因为您将获得该项目的新URL(在垃圾箱中),如果您需要恢复该项目,这很方便。
以防万一链接因任何原因死亡,我建议的方法是:
- (BOOL)trashItemAtURL:(NSURL *)url
resultingItemURL:(NSURL * _Nullable *)outResultingURL
error:(NSError * _Nullable *)error;
这是一种NSFileManager
实例方法。希望这有帮助!