4回目の投稿です。新卒iOSエンジニアです。
Realmを利用しているプロジェクトで、実行中にデータベースの中身を確認したいことがあります。
そういう時、RealmBrowserを使えば簡単です。利用方法のメモ書きです。
実行環境:
MacOS Mojave バージョン10.14
xcode10.1
Realm Browser version 3.0.1
(アン):RealmBrowserを手に入れる
App Storeで「Realm Browser」を検索してインストールしてきましょう
(ドゥ):Realmファイルを探す
Realmファイルがしまわれている場所を普通に探すのは難しいです。(ここが今回のメモ書きの肝)
以下の方法でRealmファイルの保存場所を特定します。
シミュレータで動かす場合
コード上で、Realmの初期化の後に
print(Realm.Configuration.defaultConfiguration.fileURL!)
を記述しましょう。
プロジェクトを実行すると、xcodeのデバッグコンソールに
/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm
て感じで、Realmファイルのパスが吐き出されます。
実機で動かす場合
プロジェクト実行後、
XcodeのメニューからWindow > Device and simulator
と選択すると
こんな感じで接続中のデバイスの一覧ウィンドウが表示されます。
デバイスを選択し、INSTALLED APPS の中から該当アプリを選択。
そして歯車ボタン > Download Container...
で、.xcappdて拡張子のついたファイルがダウンロードされます。ここにアプリのデータが入っています。
右クリック > パッケージの内容を表示
で.xcappdの中身がみれます。
AppData > Documents
に探し求めていた.realmファイルがあるはずです。
(トゥロワ):RealmBrowserでデータベースの中身を見る
Realmファイルを直接ダブルクリックしましょう。
または、ターミナルを開き、
$ open -a "Realm Browser" さっき特定したRealmファイルのパス
でRealmBrowserが起動します。
表示されたウィンドウのAllowボタンをクリックしたら、データベースの中身がみれるようになります。
結
以上です。
補足がありましたら、コメントよろしくお願いします。