2008-11-09 81 views
0

我想要將Sqlite3的標準Leopard安裝更新/升級到> 3.5以使用Cocoa項目中的新sqlite_xxx_v2方法。正在更新sqlite3 API

我似乎無法找到任何有關如何做到這一點的信息。有沒有人有任何提示或網站概述更新程序。

也是3.5+在iPhone上支持。我知道它是嵌入的所以不應該是一個問題...

+0

請停止編輯標籤。我知道它應該是Objective-C,但這裏的流行標籤是objectivec。 – JamesSugrue 2008-11-17 08:40:49

回答

8

你想要做的是從http://sqlite.org/download.html搶合併來源。然後將其編譯/添加到您的項目中。您不想替換系統sqlite,這會在其他應用程序中產生意想不到的後果。另外,我敢肯定系統sqlite不是股票的sqlite ......蘋果公司可能已經做出了自己的修改,核心數據依賴於它。

你可以在這裏閱讀合併的東西:http://sqlite.org/amalgamation.html,簡而言之:'''合併是一個單獨的C代碼文件,名爲「sqlite3.c」,包含核心SQLite庫的所有C代碼和FTS3和RTREE擴展'''

我也建議不要直接使用sqlite調用,它們不是用於這種方式(說sqlite的作者)。相反,有一些可可包裝在那裏,包括FMDB:http://code.google.com/p/flycode/source/browse/trunk/fmdb/(這是我寫的):)

-GUS

+0

fmdb已移至github: https://github.com/ccgus/fmdb – Maverick1st 2011-11-24 10:40:04

0

我不相信我已更新我的版本,但它目前在3.4.2,我能夠使用新的方法當前版本。

而且我使用最新的(公共)iPhone SDK運行10.5.5。

0

將圖書館放入您的項目並從那裏鏈接它可能會更容易。

4

你不是真的想升級的SQLite在Mac OS X系統版本原因是所有的Mac OS X軟件都可以使用蘋果構建過程所構建的軟件包版本。安裝不同版本的軟件包,或者甚至自己構建相同版本,但與Apple所做的操作稍有不同,可能會導致系統出現意外情況。最後,如果您將新版本的SQLite或Mac OS X附帶的任何開源庫或框架嵌入到您自己的應用程序中,則應該確保將來自Apple公共源網站的Darwin變更集成到您的應用程序中。這樣一來,您可以確定自己從Apple自帶的版本庫中儘可能地接近相同的行爲,這對於數據庫中的文件鎖定等功能尤其重要。