iOS で Realm を使ったアプリケーションを作った時には、Sandbox の中に作られることを確認できますが、
MacOS で アプリを作るとどこに保存されるか確認してみました
MacOS で アプリを作るとどこに保存されるか確認してみました
Sponsor Link
Document App では自明です
Document App であれば、間違いなくドキュメントの中に保存するでしょう。
問題は、単純なアプリ 例えば Single View App の時はどこに保存されるのでしょうか?
保存場所の確認方法
どこか Realm のオブジェクトを参照できる箇所にブレークポイントを設定して、以下の変数値を確認します。
コード
1 |
(lldb) po <realm-object>.realm?.configuration.fileURL |
保存されていた場所
保存場所は、アプリケーションの Bundle ID に依存します。
“com.smalldesksoftware.RealmApp” という App Bundle ID で作ったアプリでは、
コード
1 |
file:///Users/<UserName>/Library/Containers/com.smalldesksoftware.RealmApp/Data/Library/Application%20Support/default.realm |
../Library/Containers/
ちなみに、iOS 上では、以下のパスです。
file:///Users/<username>/Library/Developer/CoreSimulator/Device/<英数字列>/data/Containers/Data/Application/<英数字列>/Documents/default.realm
追加メモ
Realm を使っていると、default.realm 以外にもファイルが作られています。
以下のファイルです。排他アクセス等に使われていて、実行中以外は、削除等しても構いませんと説明されています。
- default.realm.lock
- default.realm.note
Realm から作られるままだと 見苦しい気がしたので、ドキュメントアプリの時には、Bundle を作って見えないようにしています。
# みんなどうしているのかは、謎です・・・
説明は以上です。
Sponsor Link