0

Cocoaプロジェクトの新しいsqlite_xxx_v2メソッドを使用するために、Sqlite3の標準のLeopardインストールを>3.5に更新/アップグレードしたいと思います。

これを行う方法についての情報が見つからないようです。更新手順の概要を説明したヒントやサイトはありますか?

また、iPhoneでは3.5以降がサポートされています。私はそれが埋め込まれていることを理解しているので、問題になるべきではありません...

4

4 に答える 4

8

あなたがしたいことは、融合ソースをhttp://sqlite.org/download.htmlから取得することです。次に、それをコンパイルしてプロジェクトに追加します。システム sqlite を置き換えたくない場合、他のアプリケーションで意図しない結果が生じる可能性があります。さらに、システム sqlite はストック sqlite ではないことは確かです... Apple はおそらく、コア データが依存する独自の変更を加えているでしょう。

合併についてはhttp://sqlite.org/amalgamation.htmlで読むことができますが、要するに: '''合併は、すべての C コードを含む「sqlite3.c」という名前の単一の C コード ファイルです。コア SQLite ライブラリと FTS3 および RTREE 拡張機能用'''

また、sqlite 呼び出しを直接使用しないことをお勧めします。それらはそのように使用するようには設計されていません (sqlite の作成者は言います)。代わりに、fmdb を含む多くのココア ラッパーがあります: http://code.google.com/p/flycode/source/browse/trunk/fmdb/ (これは私が書きました) :)

-gus

于 2008-11-09T20:35:29.183 に答える
4

Mac OS X で SQLite のシステム バージョンをアップグレードする必要はありません。その理由は、Apple のビルド プロセスによってビルドされたように、すべての Mac OS X ソフトウェアが含まれているパッケージのバージョンに対して認定されているためです。異なるバージョンのパッケージをインストールしたり、同じバージョンを自分でビルドしたとしても、Apple とは少し異なる方法で行うと、システムが予期しない動作をする可能性があります。

最後に、新しいバージョンの SQLite (または Mac OS X に含まれるオープン ソース ライブラリまたはフレームワーク) を独自のアプリケーションに埋め込む場合は、Darwin の変更を Apple の公開ソース サイトから確実に統合する必要があります。そうすれば、Apple が出荷するバージョンと同じように自分で構築したライブラリから、可能な限り同じ動作に確実に近づけることができます。これは、データベースでのファイル ロックなどの機能に関しては特に重要です。

于 2008-11-12T06:34:46.647 に答える
0

ライブラリをプロジェクトにドロップして、そこからリンクする方が簡単な場合があります。

于 2008-11-09T19:47:35.957 に答える
0

バージョンを更新したとは思えませんが、現在は 3.4.2 で、現在のバージョンで新しいメソッドを使用できます。

そして、最新の(公開)iPhone SDKで10.5.5を実行しています。

于 2008-11-09T18:28:11.513 に答える