0

我想将 Sqlite3 的标准 Leopard 安装更新/升级到 >3.5,以使用 Cocoa 项目中的新 sqlite_xxx_v2 方法。

我似乎找不到有关如何执行此操作的任何信息。有没有人有任何提示或概述更新过程的网站。

iPhone 也支持 3.5+。我知道它是嵌入式的,所以应该不是问题......

4

4 回答 4

8

您要做的是从http://sqlite.org/download.html获取合并源。然后只需将其编译到/添加到您的项目中。您不想替换系统 sqlite——这会在其他应用程序中产生意想不到的后果。另外,我很确定系统 sqlite 不是库存 sqlite... Apple 可能已经对核心数据所依赖的它进行了自己的修改。

您可以在此处阅读合并内容:http: //sqlite.org/amalgamation.html,但简而言之:'''合并是一个名为“sqlite3.c”的单个 C 代码文件,其中包含所有 C 代码用于核心 SQLite 库和 FTS3 和 RTREE 扩展'''

我还建议不要直接使用 sqlite 调用,它们的设计初衷不是这样(sqlite 的作者说)。相反,有许多可可包装器,包括 fmdb:http ://code.google.com/p/flycode/source/browse/trunk/fmdb/ (我写的):)

-格斯

于 2008-11-09T20:35:29.183 回答
4

您真的不想在 Mac OS X 上升级 SQLite 的系统版本。原因是所有 Mac OS X 软件都符合其包含的软件包版本,由 Apple 的构建过程构建。安装不同版本的包,或者甚至自己构建相同的版本,但这样做与 Apple 的做法略有不同,可能会导致系统出现意外行为。

最后,如果您将更新版本的 SQLite(或 Mac OS X 中包含的任何开源库或框架)嵌入到您自己的应用程序中,您应该确保从 Apple 的公共源站点集成 Darwin 更改。这样,您就可以确保从您自己构建的库中尽可能接近与 Apple 发布的版本相同的行为,这对于数据库中的文件锁定等功能尤其重要。

于 2008-11-12T06:34:46.647 回答
0

我不相信我已经更新了我的版本,但它目前是 3.4.2,我可以在当前版本中使用新方法。

我正在使用最新的(公共)iPhone SDK 运行 10.5.5。

于 2008-11-09T18:28:11.513 回答
0

将库放入您的项目并从那里链接它可能会更容易。

于 2008-11-09T19:47:35.957 回答