2

Mac OS と iOS のバージョンでアプリケーションを考案しており、一部のデータを同期したままにしたいと考えています。これを行う最も簡単な方法は、データを各デバイスの SQLite データベースにローカルに保存し、同じデータベースを Web サーバーに保存してから、各テーブルでいくつかのクエリを実行して、ローカル データベースとリモート データベースを同期することです。

私が見逃しているこのパズルの唯一のピースは、Web サーバーに格納されているリモート SQLite データベースにクエリを実行する方法です。理想的には、Python や JS などの Web 言語との間でデータをマーシャリングしたり、サーバー側スクリプトのように Web サーバーに他のファイルを配置したりせずに、Objective-C を介して実行したいと考えています。Web サーバーでデータベースを開き、ObjC を介してクエリを実行できる機能が本当に欲しいです。

これは実現可能ですか?誰にもアイデアはありますか?前もって感謝します...

4

1 に答える 1

2

SQLite は基本的に、データベースを単一のファイルに保持する C ライブラリです。このコンパクトさから、iOS や Mac のストレージの標準 (CoreData) になりました。

(Oragle や MySQL のようなマルチユーザーの分散 DB とは対照的に) これが設計目標としてあったため、Web 経由で DB コンテンツにアクセスする方法はありません。SQLite ライブラリはローカル ファイルとして開く必要があります。

次のオプションがあります。

  • サーバーに MySQL DB と Web API がある (stackmob などのサービスを介するか、自分でプログラムする)
  • iCloudを使う
  • ファイルベースの同期形式 (Dropbox や WebDAV など) を使用して、実際の SQLite ファイルを移動し続ける
  • ハイブリッド フォーム: トランザクションをファイルに入れ、各デバイスで同期してロール フォワードします。

同期は難しいです。私はただiCloudを使います。

于 2013-01-11T06:38:18.753 に答える