Xcode 8 GM -- SQLite错误代码:6922,“磁盘I/O错误”

11

我正在重新发布我的iPhone应用程序,现在在UIManagedDocument上执行executeFetchRequest会出现SQLite错误代码:6922。 我已经在互联网上搜索过,但没有找到SQLite错误代码6922。 有人见过这种情况吗? 在Xcode 7中一切正常。


即使在Xcode 8正式发布后,仍然面临这个问题。 - Baby Groot
我也遇到了同样的问题.. 有人解决了吗? - ICL1901
1
犯了一个可怕的错误,导致我遇到了这个问题:我正在使用NSFileManager删除文档目录中的一张照片。我传递了一个空的照片名称,进程试图删除文档目录!它未能删除,但却损坏了CoreData记录。 - DontKnow
1个回答

1
在iOS 10中,我遇到了这个错误,当我将NSManagedObjectContext保存到一个我设置为特定文件的NSPersistentStore后。保存后,文件被删除(在我加密并另存为另一个文件后),下次我尝试通过executeFetchRequest从NSManagedObjectContext访问数据时,它会尝试从我已删除的NSPersistentStore文件中提取数据。由于该文件不再存在,它给了我“SQLite错误代码:6922,'磁盘I/O错误'”。
如果我不删除我设置为NSPersistentStore的文件,则executeFetchRequest能够从文件中读取数据,并且不会抛出SQLite错误。
似乎在iOS 10中,数据不会保留在内存中,或者默认情况下会从文件中读取数据。
如果我在iOS 9.3模拟器(XCode 8 GM)中运行原始代码,它与以前一样工作,没有发生错误。

1
这不是一个答案。 - Syed Ali Salman

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