gpt4 book ai didi

iOS 9 更新似乎破坏了 sqlite3

转载 作者:行者123 更新时间:2023-12-02 02:27:43 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

关于iOS 9 更新似乎破坏了 sqlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32508461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com