Ios 如何处理(MyApp保存的文档)文件?

Ios 如何处理(MyApp保存的文档)文件?,ios,document,icloud,save,icloud-api,Ios,Document,Icloud,Save,Icloud Api,我的应用程序使用iCloud。我的应用程序将其所有数据存储在一个文档中,并且不应超过这1个文档。但是,有时我的NSMetadataQuery会返回两个文档: 0:文档/(正在保存的文档bt MyApp)/MyDoc.ext 1:文档/MyDoc.ext 这通常发生在用户在iOS设备重新启动后不久打开应用程序时 检查这两个文档时,文档0是最新更新的文档,因此这是我们想要的文档 “正在保存的文档”出现并成为最新文档的原因是什么?我如何正确处理此问题,因此Documents/MyDoc.ext将是包

我的应用程序使用iCloud。我的应用程序将其所有数据存储在一个文档中,并且不应超过这1个文档。但是,有时我的NSMetadataQuery会返回两个文档:

0:文档/(正在保存的文档bt MyApp)/MyDoc.ext
1:文档/MyDoc.ext

这通常发生在用户在iOS设备重新启动后不久打开应用程序时

检查这两个文档时,文档0是最新更新的文档,因此这是我们想要的文档

“正在保存的文档”出现并成为最新文档的原因是什么?我如何正确处理此问题,因此Documents/MyDoc.ext将是包含最新内容的文档

谢谢,
-我认为斯图尔特的评论提供了你将得到的大部分答案。仅文档名为“(保存的文档)”而不是“(保存的文档”)这一事实就强烈表明他是对的。
我想现在该由你来弄清楚为什么保存文档会崩溃、永远不会完成或被终止等等。如果你的应用程序在后台保存文档时花费太长时间、崩溃或其他事情,那么这可能是一个超时——我认为你没有提供足够的信息让任何人给你一个真正准确的答案

文档中名为“AppName保存的文档”的文件夹是一个临时文件夹,用于存储二进制大对象(BLOB)

通常,如果成功保存应用程序,则应清空文件夹。但是,如果在保存过程中文件夹崩溃,则该文件夹将存储一些数据以供您处理。 基本上,我总是在启动时删除目录。因此,如果BLOB没有移动到隐藏的BLOB目录中,它将不在数据库中


希望对您有所帮助。

我通常看到“(保存的文档)“当应用程序在保存时崩溃时。原子写入涉及在替换现有文档之前写入一个单独的文件——这似乎就是这个目录所代表的内容。因此,我怀疑无法保证此“正在保存”文档中的数据是完整的,但我也有兴趣看看是否有人有任何打捞经验。原子写入意味着没有打捞经验