iOS应用程序文件目录丢失

9

我在iOS应用中将数据保存在文档目录中,并且所有数据都被标记为不与云端同步,就像苹果建议的那样。

问题是,我的应用程序文档目录每隔一段时间就会被删除,这导致用户的数据丢失。我很难找到发生问题的原因,因为它是罕见的,也没有任何一个原因可以导致这个问题。

我最初认为文件夹变得太大了,所以操作系统会删除文件夹,但苹果并没有说明文档目录的大小限制或其他任何内容,至少我没有找到。

有人遇到过类似的问题吗?还是有人有什么信息可以帮助我解决这个问题吗?

谢谢。

编辑:

问题又出现了,并且这是我的应用程序文档的屏幕截图,其中没有文档目录,它已经被删除了:

enter image description here

Xcode在此之后每隔几秒钟就会输出以下消息:

Error: Failed end transaction from database 'cannot commit - no transaction is active'


2
请注意,新的苹果文档指出,在某些(据说是极端的)情况下,标记为“不同步”的文件/目录可能会在没有警告/通知的情况下被删除。 - Hot Licks
谢谢。我存储了几千兆的m4a、mp4和pdf文件。我认为将它们保存到CoreData不是一个好主意 :( - Gleb Tarasov
1
@pilot34 嗯,为了串联一些点,该应用程序存储了大量的MP3文件。 - RyanG
这个问题有什么新进展吗?我们刚遇到了同样的情况,系统使用NSURLIsExcludedFromBackupKey标志从“文档”文件夹中删除了数百兆字节的数据。当此事发生时,一些用户处于飞行模式,因此他们无法重新下载数据。 - shelll
很抱歉,我没有任何新的消息。对不起。我已经不再参与这个项目了。 - RyanG
显示剩余9条评论
1个回答

2

你确定这是文档目录吗?请检查一下。正如这里所报道的,这是与缓存和tmp目录相关的已知情况。


是的,我确定我们正在使用文档目录,我也了解tmp和Caches目录的功能。当它发生时,我查看了组织器中我的应用程序数据,其中包含tmp和Caches目录,但Documents目录消失了,直到我再次生成文件,然后只有新文件才重新出现。 - RyanG
那么你可能在删除文件。你是否搜索了所有的NSFileManager调用?尝试子类化它并使用断言来检查是否正在删除任何内容。无论如何,+1个赞给这个谜题。 - fbernardo
我在各处记录了我正在删除的所有文件,但这些调用中没有一个应该删除整个目录本身,但值得一试。最困难的是尝试重新创建它,因为我说过它不一致。 - RyanG
我之前并没有深入研究这个问题,因为已经有一段时间没有出现了。但最近又出现了,我得到了更多的信息,并编辑了我的原始帖子。 - RyanG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接