iOSシミュレータ内のSQLITEレコードを参照する方法

1 min read読了の目安(約1600字

こんにちは、わたなべです。

Flutter入門している最中です(スマホアプリ開発自体も駆け出し)。

今回は、Sqliteを作ってTodoアプリを作っているときに、登録したレコードを簡単に参照する方法を調べてみたのでメモです。

もっとスマートな方法があったら教えていただきたいです(こっちが本音w)。

1. SimulatorManagerのインストール

今回はAndroidは使っておらず、iOSシミュレータの場合で書いていきます。
iOSシミュレータ内のデータにアクセスできるツールがあったので、以下からインストール。

https://github.com/tue-savvy/SimulatorManager
直接ダウンロードはこっち。
https://github.com/tue-savvy/SimulatorManager/releases

起動するとメニューバーに表示されて、iOSシミュレータの一覧が見れます。
一覧から、現在起動しているシミュレータを見てみると、開発中のアプリ名(nabeatodo)が表示されました。

このアプリ名を選択すると、以下のようにシミュレータ内のアプリデータがFinderで表示されます。
SqliteのDBファイル(.db)もありました。

2. Sqliteのクライアントソフトをインストール

これはSqliteを扱えるDBクライアントなら何でも良いと思いますが、今回は以下を使ってみました。

https://sqlitebrowser.org/

インストールして起動後、上記1で取得した.dbファイルをそのままDB Browser for SQLite内にドラッグ&ドロップすると、無事iOSシミュレータ内のSqliteのレコードを参照できました。

3. リアルタイムに確認できるか実験

データ更新の度に都度.dbファイルを開いて確認だと面倒すぎるので、リアルタイムに更新が確認できるか試しました。
DB Browser for SQLiteの場合は更新ボタンを押下する必要はありますが、一応SimulatorManagerで探した.dbファイルを直接開くことでリアルタイムに確認はできました。

before(レコード追加前)

レコード追加(+ボタン押下でレコードが1件作られるようにしてます)

after(更新ボタン押下でレコードが追加されている)

おわりに

Android StudioのDevice File ExplorerみたいなのがVSCodeの拡張機能にないかなってのと、Sqliteの.dbファイル(バイナリ)をDBクライアント無しで参照できないかなってのが気になってるところです。