iOS 9更新似乎打破了sqlite3

Dav*_*e S 1 sqlite ios ios9

更新到iOS 9.1预发布版后,我们使用本地应用程序sqlite数据库的旧版iOS应用程序不再能够读取表("没有这样的表:xxx"错误).我已经通过Link Binary和库(/ usr/libs/...)更新了sqlite3.dylib引用,它似乎能够连接并打开数据库就好了,但是"没有这样的表"错误仍然存​​在.奇怪的是:在调试期间浏览文件系统上的数据库文件时,我可以在Firefox SQLITE中打开数据库并查看相关表格,并确认它们存在.

另一点:正在构建的目标架构是arm7和arm64 - $(ARCHS_STANDARD).

提前感谢您提供任何提示/帮助!

更新:即使在模拟器中调试期间数据库的文件路径存在并且包含一个包含表的有效数据库,尝试从sqlite_master中选择SELECT*也不会返回任何行 - 这导致我认为它正在创建一个新数据库,即使文件路径它用于打开数据库是有效的并包含一个数据库.

Dav*_*e S 5

问题最终与事件发生有关.似乎在iOS 8x中,当viewDidLoad,正在设置数据库的文件路径时.然后打开数据库并从中毫无问题地进行选择.在iOS 9完全相同的代码中,在使用nil文件路径字符串打开数据库的viewDidLoad之前触发了一些事情.不是一个专门的iOS开发人员,我不是100%确定两个操作系统版本和委托/事件触发的区别,但我想我会回答我自己的帖子,以防其他人遇到这个问题!