有什么方法可以使用 iCloud Drive 支持最近删除的文件?

Any way to support recently deleted files with iCloud Drive?

简述:如何将我的应用程序用户删除的文档放入 iCloud Drive 存储的最近删除部分?

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

关于 iCloud 文件管理的 Apple 指南,专门处理删除文档 (here),声明使用 FileManager 方法(removeItemAtPath:removeItemAtURL:),但也明确指出他们将被永久删除。

这就是我目前正在使用的方法,我什至幸福地不知道可以恢复已删除的文件,直到用户问我如何恢复他们误删除的文件。

无数的搜索短语出现了关于如何恢复文件的结果,但没有关于如何实施它的结果,或者它是否可以完成...所以我在这里。

如果一切都失败了:我想到的一个可能的解决方案是创建我自己的 "Deleted Items" 目录,项目在一段时间之前被移动到该目录被清除。但是,如果有一种方法可以访问内置功能,显然这将更加用户友好且更易于实现。

我自己还没有尝试过,但是从您 link 编辑的文档来看,您可能正在寻找 the ability to trash items。我相信这会将项目放入 iCloud 的 Recently Deleted 部分,但那是我没有亲自尝试的地方,这限制了我在这里的知识,但从文档来看,这似乎是你正在寻找的东西,因为你得到了项目的新 URL(在垃圾箱中)如果您需要恢复该项目,这很方便。

以防万一 link 因任何原因死亡,我建议的方法是:

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

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