无法打开iOS应用程序中使用的sql存储文件

无法打开iOS应用程序中使用的sql存储文件,ios,sql,database,sqlite,core-data,Ios,Sql,Database,Sqlite,Core Data,我在我的一个核心数据框架应用程序中使用了基于sql的数据库。我没有为永久存储启用任何文件保护(使用NSFileProtectionKey)。但我无法打开库中“Caches”文件夹下目录中的数据库文件存储 你曾经遇到过这样的问题吗。下面是我试图打开sql文件时得到的图像。然而,我在该文件夹中看到的与iOS6的不同之处在于,还有两个文件(-shm和-wal)与sql存储文件同名 任何人都可以帮我找到打开文件的解决方案。-shm和-wal是使用预写日志创建的日志文件。完整的数据库需要全部3个文件。我

我在我的一个核心数据框架应用程序中使用了基于sql的数据库。我没有为永久存储启用任何文件保护(使用NSFileProtectionKey)。但我无法打开库中“Caches”文件夹下目录中的数据库文件存储

你曾经遇到过这样的问题吗。下面是我试图打开sql文件时得到的图像。然而,我在该文件夹中看到的与iOS6的不同之处在于,还有两个文件(-shm和-wal)与sql存储文件同名


任何人都可以帮我找到打开文件的解决方案。

-shm
-wal
是使用预写日志创建的日志文件。完整的数据库需要全部3个文件。我还没有看到因不遵守此规则而错误触发的加密错误,但这似乎不是不可能的


请参阅和。

是。我已经看过这个苹果的技术说明。我没有尝试日志删除选项。尽管如此,我相信这不会有什么不同,因为这个问题在iOS 6中不可见。如果-shm和-wal文件存在,那么您需要移动所有3个文件,并将它们放在一起。否则,您的数据库已损坏。仅.SQL文件是不够的。当您从命令行使用
sqlite3
打开文件时会发生什么情况?我尝试了选项设置,效果很好。我能够打开文件,因为没有-shm和-wal文件。因此,解决此问题的方法是将带有“journal_mode”的SQLPragmaOptions设置启用为“DELETE”值。谢谢你,哈尔·穆勒。