升级xcode使用的sqlite3版本?
我希望使用外键功能,因此将我的 sqlite 版本升级到最新的稳定版本 3.7.2。
我已经通过输入以下内容验证了终端中的版本:
> whereis sqlite3
= /usr/bin/sqlite3
> sqlite3 --version
= 3.7.2
现在,当我使用 FireFox 的 SQL Manager 插件创建新数据库时,它报告它正在使用:
3.6.22
更糟糕的是,当我进入 Xcode 并运行基本的 SQLite Select 查询并获取所使用版本的日志时,它显示:
3.6.22
如何同时升级 Firefox 和 Xcode 使用的 sqlite3 版本;当用户的手机可能没有最新的 sqlite 时,我是否应该尝试编写最新的 sqlite 代码?
感谢您的帮助。
I wish to use the foreign keys facility, and thus upgraded my version of sqlite to the latest stable version 3.7.2.
I've verified the version in terminal by entering in:
> whereis sqlite3
= /usr/bin/sqlite3
> sqlite3 --version
= 3.7.2
Now, when I come to create a new database using FireFox's SQL Manager plugin it reports it is using:
3.6.22
Worse still, when I go into Xcode and run a basic SQLite Select query and get a log of the version used it says:
3.6.22
How do I upgrade the sqlite3 version used by both Firefox and Xcode, also; should I be even trying to code for the latest sqlite when a user's phone might not have it?
Thanks for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Ad-hoc 插件和管理器将包含 sqlite3 版本。您看到的是 dll 的版本,而不是数据库的版本。尝试将它们替换为最新的 sqlite3.dll 文件。
Ad-hoc plug ins and managers will have an included sqlite3 version. What you are seeing is the dll's version, not the database's. Try swapping them with the latest sqlite3.dll file.
经过一番研究,我想我会忽略外键功能;无法保证旧的 iPod/iPhone 会有最新的 SQLite,因此我将通过代码手动强化数据库结构。
After some research, I think I am just going to ignore the FOREIGN KEY feature; there's no guarantee old ipods/iphone's would have the latest sqlite, so I'm going to re-inforce the database structure manually through code.
这个问题可能对您有帮助: iphone sqlite static linking?
作者想要静态链接 SQlite,以便他可以完全控制他的程序中使用的版本。如果您需要外键,那么这将是确保您的产品在所有设备上运行的方法 - 无论其 iOS 版本如何。
This question may help you: iphone sqlite static linking?
The author wanted to statically link SQlite so that he had full control over the version used in his programs. If you wanted foreign keys then this would be the way to go in order to ensure that your product worked on all devices - no matter their iOS version.