iPhone実機、iPhoneシミュレータに保存した.sqliteファイルを「Navicat」で確認する。

iPhone実機、iPhoneシミュレータに保存した.sqliteのファイルを、
GUIアプリケーションのNavicatで確認する手順のメモです。


今回の流れ

  1. Navicat for SQLiteのダウンロード
  2. サンプル.sqliteファイルの準備(CoreDataテンプレートで作成)
  3. NavicatでiPhoneシミュレータ上の.spliteファイルを確認
  4. NavicatでiPhoneシミュレータ上の.spliteファイルを追加
  5. iPhone実機上の.sqliteファイルを確認する方法



まずNavicat for SQLiteの無料版をダウンロードします。
30日間経過後は機能が制限されます。
Navicatのダウンロード



ダウンロードしたdmgファイルをクリックして、
NavicatのアイコンをApplicationsにドラッグ&ドロップしてインストールをします。


これでアプリの準備は完了です。
次はサンプルデータを準備する為に、適当なプロジェクトを作ります。
Xcodeでプロジェクトを作り、Master-Detail Applicationを選択します。


プロジェクト名は適当な名前でOKです。
ただ「Use Core Data」だけチェックをいれます。
これで自動的にCoreDataで現在の日時を保存するテンプレートができます。


プロジェクトが作成できたらアプリをiPhoneシミュレータで実行して、
何回か+ボタンを押してデータを増やしておきます。
これで、サンプルデータの準備は完了です。


Navicatの操作

「Navicat」を起動して、「Connection」を選択します。



これで新しいデータベースとの接続を作成する画面がでてきます。
既に存在する.sqliteファイルと接続するので、以下の様にします。

Connection Name: 適当な接続名
Type: Existing database file



そして、Database File:右のタブをクリックして、既にある.sqliteを選択します。


iPhoneシミュレータ上で作成した.sqliteファイルはデフォルトでは下のパスにあります。
Libraryフォルダが見つからない!という方は以下を参考にして下さい。
Mac OS X Lionで隠しファイルを表示する方法

iPhoneシミュレータ上の.sqliteファイルのパス
/Users/<<ユーザー名>>/Library/Application Support/iPhone Simulator/<<ビルド時のiOSのバージョン>>/Applications/<<アプリのGUID>>/Documents

.sqliteファイルを選択して「Open」すると、sqliteファイルへの接続が作成されるので、
「testConnection」を右クリックし、「Open Connection」を選択します。


接続が成功すると、「main」というデータベースの中に「Tables」というのが表示されます。
「Tables」の中には、3つの「テーブル」があります。



この中のZEVENTという「テーブル」をダブルクリックして開きます。
テーブルはエクセルの表みたいなものです。テーブル(wiki)
他にもテーブルがありますが、CoreDataが自動で作ったものなので今は無視します。




ZTIMESTAMPという列には、
iPhoneシミュレータ上で「+」ボタンを押した時の※時刻がデータとして入っています。
※2001年1月1日からの経過秒数で計算されています。

では「Navicat」を使ってZEVENTテーブルにデータを追加してみます。
左下の「+」ボタンを押すと、行(Row)が1行追加されますので、
Z_PKを4にして、他は上の行の内容をコピーします。
これで1行のデータが追加できました。


あとはiPhoneシミュレータを実行すれば、
データが追加されているのが確認できるはずです。



iPhone実機に保存された.sqliteファイルを確認する方法



iPhone実機を接続して、先ほどのアプリをインストール後、
ボタンを押してテストデータをいれます。

Xcodeのメニューから「Window」>「Organizer」を選びます。
「Organizer」が起動したら、以下の順に選択します。
「xxのiPhone」> 「Applications」> 「作成したテストアプリ」>「Download」


これでアプリを※サンドボックスごとダウンロードできます。
サンドボックス?という方はiOSのバンドルとファイルシステムもご参考下さい。

アプリは.xcappdataという形式でダウンロードされます。
右クリックで「パッケージを表示」をしないと中身が見られないので注意して下さい。
Navicatにデータを表示する手順は前述した内容と一緒なので割愛します。



ちなみにMacアプリで「Navicat Premium」があります。
結構高いですが、
MySQL, SQL Server, SQLite, Oracle and PostgreSQLに対応しています。

Navicat Premium - PremiumSoft CyberTech Ltd.