0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita100万記事感謝祭!記事投稿キャンペーン開催のお知らせ

【iOS】Realmファイルを取得し、Realmに保存されたデータを確認する方法

Last updated at Posted at 2025-01-22

Realmに保存されたデータを確認したい!

iOSアプリ開発でRealmを使用している際、シミュレーター上のRealmファイルを直接確認したいことがあります。この記事では、以下の手順を通してシミュレーター内のRealmファイルを取得する方法を解説します。


手順概要

  1. xcrun simctl list でデバイスを特定
  2. 該当デバイスのディレクトリに移動し、アプリケーションを特定
  3. Realmファイルを特定して取得

手順 1: xcrun simctl list でデバイスを特定

まず、シミュレーターで実行中のデバイス情報を確認します。

コマンド実行

以下のコマンドをターミナルで実行します。

xcrun simctl list

出力例

== Devices ==
-- iOS 16.4 --
    iPhone 14 (A1B2C3D4-5678-9101-1121-314151617181) (Booted)
    iPhone 14 Pro (E1F2G3H4-9101-1121-3141-516171819202) (Shutdown)

(Booted) と表示されているものが現在起動中のシミュレーターです。

この例では、iPhone 14 が起動しており、デバイスIDは A1B2C3D4-5678-9101-1121-314151617181 です。このデバイスIDをメモしておきます。


手順 2: 該当デバイスのディレクトリに移動

次に、該当デバイスのディレクトリにアクセスして、アプリケーションを特定します。

ディレクトリパス

シミュレーターのデバイスデータは以下の場所に保存されています。

~/Library/Developer/CoreSimulator/Devices/{デバイスID}/data/Containers/Data/Application

移動方法

以下のコマンドを使用して、該当するデバイスのアプリケーションデータディレクトリに移動します。

cd ~/Library/Developer/CoreSimulator/Devices/A1B2C3D4-5678-9101-1121-314151617181/data/Containers/Data/Application

アプリケーションの特定方法

Application ディレクトリ内には、アプリごとに割り当てられたフォルダが並んでいます。それぞれのフォルダにはアプリのデータが保存されています。

ls

出力例

F2G3H4I5J6K7L8M9N0OPQRSTUVWX
G1H2I3J4K5L6M7N8O9PQRSTUVWXY

これらのフォルダがそれぞれアプリを指します。どのフォルダが目的のアプリかを確認するには、以下の方法を試してください。

  1. フォルダ内を直接確認する方法
    各フォルダ内にはアプリのデータが保存されており、Documents ディレクトリや他の保存ファイルが含まれています。以下のコマンドで中身を確認し、目的のファイルがあるか確認してください。

    cd F2G3H4I5J6K7L8M9N0OPQRSTUVWX
    ls
    
  2. info.plist を確認する方法
    各フォルダ内にはアプリに関連する info.plist ファイルが存在します。このファイルを参照して、アプリのバンドルIDや名前を確認できます。以下のコマンドで内容を確認してください。

    cat ./info.plist
    
  3. バンドルIDで特定する方法
    アプリのバンドルIDが分かっている場合、以下の手順で特定することが可能です。

    • バンドルIDを利用した検索
      アプリのバンドルID(例: com.example.app)を使用して、info.plist を検索します。

      grep -r "com.example.app" .
      

      このコマンドは、現在のディレクトリ内のすべてのファイルを検索し、バンドルIDが一致するフォルダを特定します。

    • 検索結果を利用する
      検索結果からバンドルIDが含まれるフォルダを特定し、そのフォルダに移動して内容を確認します。

      cd フォルダ名
      ls
      

目的のアプリケーションフォルダが特定できたら、次の手順に進みます。


手順 3: Realmファイルを特定して取得

アプリのデータフォルダを特定したら、次にRealmファイルを探します。

Realmファイルのデフォルト保存場所

通常、Realmファイルは Documents フォルダに保存されています。default.realm という名前で保存されているのが一般的です。

特定方法

アプリケーションのディレクトリ内で以下のコマンドを実行して、Realmファイルを検索します。

find . -name "*.realm"

出力例

./Documents/default.realm

この結果で、Realmファイルの保存場所が特定できます。

Finderで開く

ファイルをFinderで開きたい場合、以下のコマンドを実行します。

open ./Documents/default.realm

これにより、Finderが起動して指定の場所が表示されます。


補足: ファイルパスをアプリでログ出力する

アプリ内から直接Realmファイルの保存場所を確認したい場合は、以下のコードを利用してログに出力する方法もあります。

import RealmSwift

func logRealmPath() {
    if let realmPath = Realm.Configuration.defaultConfiguration.fileURL {
        print("Realm file path: \(realmPath.path)")
    } else {
        print("Realm file path not found.")
    }
}

まとめ

これで、シミュレーター上のRealmファイルを取得する手順は完了です。以下のポイントを確認して作業を進めてください。

  • デバイスIDを正確に特定する
  • アプリケーションディレクトリに移動してデータを確認する
  • Realmファイルを検索・取得する

データ確認には Realm Studio を使用すると、データ構造が視覚的に確認できるのでおすすめです!


参考リンク

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?