Cocoaプロジェクトの新しいsqlite_xxx_v2メソッドを使用するために、Sqlite3の標準のLeopardインストールを>3.5に更新/アップグレードしたいと思います。
これを行う方法についての情報が見つからないようです。更新手順の概要を説明したヒントやサイトはありますか?
また、iPhoneでは3.5以降がサポートされています。私はそれが埋め込まれていることを理解しているので、問題になるべきではありません...
Cocoaプロジェクトの新しいsqlite_xxx_v2メソッドを使用するために、Sqlite3の標準のLeopardインストールを>3.5に更新/アップグレードしたいと思います。
これを行う方法についての情報が見つからないようです。更新手順の概要を説明したヒントやサイトはありますか?
また、iPhoneでは3.5以降がサポートされています。私はそれが埋め込まれていることを理解しているので、問題になるべきではありません...
あなたがしたいことは、融合ソースを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
Mac OS X で SQLite のシステム バージョンをアップグレードする必要はありません。その理由は、Apple のビルド プロセスによってビルドされたように、すべての Mac OS X ソフトウェアが含まれているパッケージのバージョンに対して認定されているためです。異なるバージョンのパッケージをインストールしたり、同じバージョンを自分でビルドしたとしても、Apple とは少し異なる方法で行うと、システムが予期しない動作をする可能性があります。
最後に、新しいバージョンの SQLite (または Mac OS X に含まれるオープン ソース ライブラリまたはフレームワーク) を独自のアプリケーションに埋め込む場合は、Darwin の変更を Apple の公開ソース サイトから確実に統合する必要があります。そうすれば、Apple が出荷するバージョンと同じように自分で構築したライブラリから、可能な限り同じ動作に確実に近づけることができます。これは、データベースでのファイル ロックなどの機能に関しては特に重要です。
ライブラリをプロジェクトにドロップして、そこからリンクする方が簡単な場合があります。
バージョンを更新したとは思えませんが、現在は 3.4.2 で、現在のバージョンで新しいメソッドを使用できます。
そして、最新の(公開)iPhone SDKで10.5.5を実行しています。