web-dev-qa-db-ja.com

レルムファイルを見つける方法

私はDBをレルムで作成しましたが、私のOS(Yosemite)は/ private/var/mobileにmobileフォルダを持っていないのでファイルを見つけることができません。

ブラウザで実行するには、どうすれば自分の領域にアクセスできますか?

Googleグループからのクロス投稿

210
yoshyosh

レルムファイルの検索

アンドロイド用

Realmブラウザで自分のRealmファイルを表示する方法

IOSの場合

アプリが端末上にある場合

デバイスが接続されていることを確認し、Xcodeのメニューウィンドウ>デバイス(⌘⇧2)のデバイスウィンドウに移動します。デバッグ権限を持つインストール済みアプリのリストから、デバイスとアプリを選択できます。

アプリを選択したら、テーブルビューの下部にあるツールバーの歯車に移動し、“ Download Container…“を選択します。そこにあなたはあなたのMacにドキュメントの場所からファイルを引っ張ることができるでしょう。それはxcappdataバンドルとして保存されます。

保存した場所でFinderでローカルパスを開くときは、ファイルを選択したときに、Finderのコンテキストメニューで“パッケージの内容を表示”を選択してタップすることができます。新しいFinderウィンドウが開きます。ここで、Realmの内側に次のパスがあります(例:AppData/Documents/default.realm(ディレクトリ '/ private/var/mobile'は、iOS上のパスです)。デバイスファイルシステム。

アプリがシミュレータ上にある場合

ユーザーのディレクトリに移動します。

/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-uuid>/data/Containers/Data/Application/<application-uuid>/Documents/default.realm

デフォルトのレルムの現在のパスを取得する最も簡単な方法は、シミュレータを一時停止してLLDBコンソールに次のように入力することです。

Objective-C
(lldb) po [RLMRealmConfiguration defaultConfiguration].fileURL

Realm Objective-Cを使ったSwift
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL

Realm Swiftを使ったSwift
(lldb) po Realm.Configuration.defaultConfiguration.fileURL

あるいはRLMRealmインスタンスを手元に持っている場合は、次のようにします。
(lldb) po myRealm.configuration.fileURL

それからこのパスをコピーしてターミナルを開いてopen[[Pasted path here]と入力してください。

注:パスの中にはスペースがあるものがあります。エスケープするには、スペースの前に必ず「\」を使用してください。

ヘルパーツールSimPholders

これはおそらくシミュレータでアプリのファイルを見つけるための最速の方法です。 SimPholders をインストールします。これにより、メニューバーから直接アプリのドキュメントディレクトリにアクセスできるようになります。

SimPholdersによって間違ったシミュレータアプリフォルダに移動さ​​れたとの説明がある人もいますが、その場合は上記の手順に従ってrealm.pathを印刷し、realmパスを印刷します

434
yoshyosh

私はiOS/macOS(Swift 3 Xcode 8.3用)のための最も簡単な方法を見つけました

override func viewDidLoad() {

   // for Swift 2.0 Xcode 7
   print(Realm.Configuration.defaultConfiguration.fileURL!)
}

それからXコードは正しいパスを記録します、以下のスクリーンをチェックしてください。

enter image description here

それではあなたのFinderを開いてを押してください。  +  + G (command + shift + G)そしてXcodeにログオンするパスを貼り付けます。

113

ここに簡単な解決策があります。私が指摘しておかなければならないのは、これはAndroid StudioとAVD Emulatorを使った特定の命令のセットです。

1)エミュレータを起動してアプリを実行します。

2)アプリの実行中にAndroid Device Monitorを開きます。 (AVDアイコンとSDKマネージャアイコンの隣のツールバーにあります)

3)デバイスモニタの[ファイルエクスプローラ]タブをクリックします。たくさんのフォルダがあるはずです。

4)次のパスに移動します。データ>データ> あなたのパッケージ名 >ファイル> Default.Realm(またはそれに付けた名前)

例レルムサンプルプロジェクトのいずれかを使用している場合、パスはData> Data> io.realm.examples.realmgridview> files> default.realmのようになります。

5)ファイルをハイライトし、右上のフロッピーディスクアイコンをクリックして「デバイスからファイルを引き出す」

6)好きな場所に保存してください。

20
Michael Elkins

シミュレータアプリのための一つの簡単な選択肢

スマートフォルダを作成する/ Finderで検索する。すべてのレルムファイルにすばやく簡単にクリックできるようにします。

  1. Finderでフォルダ/Users/$USER/Library/Developer/CoreSimulator/Devicesを開きます。

    端末open /Users/$USER/Library/Developer/CoreSimulator/Devicesを使って

  2. を検索する.realm

  3. 検索を変更して、"Devices"フォルダーのみを検索します。

  1. 検索結果をサイドバーに保存します(例:レルム)。

日付順に並べ替えると、最新の修正済みシミュレータ.realmファイルのすばやく簡単にクリックできるリストが表示されます。

20
Archdoog

私がしたのは使用することでした

let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")

そしてそれは私のデスクトップ上にフルビューで作成されます、そして私はそれの上でレルムブラウザを起動するためにダブルクリックすることができます。後で、すべてが正常に機能していることを確認したら、パラメータを削除してデフォルトの場所を使用できるようにします。

17
Stephen Watson

Objective-C - [RLMRealmConfiguration defaultConfiguration].fileURL

NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);

例 - /ユーザー/ "あなたのユーザー名" /ライブラリ/開発者/ CoreSimulator /デバイス/ E58645FF-90DE-434D-B2EB-FA145EB6F2EA/data /コンテナ/データ/アプリケーション/ E427BD21-2CB1-4F64-9ADF-8742FF731209 /ドキュメント/

これは、.realmファイルへのパスを取得するために実行できる最も簡単なコマンドです。すべての読み取りおよび書き込み操作が完了すると、.realmファイルが表示されます。

または

メニューバーから直接アプリケーションのドキュメントディレクトリにアクセスするには、 openSim の代わりに simpholders を開くことができます。

10
Priyansh

最新のRealmに対する回答を更新しました。

アンドロイド用:

stethoのチェックアウトおよび https://github.com/uPhyca/stetho-realm ここのビデオチュートリアル: https://www.youtube.com/watch?v=9pFJz5VexRw

IOS(Swift)の場合

どちらか

debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)

または

ステップ1: devという定数をどこかに置いてください。定数ファイルとしましょう

public class Constants {

    public static var dev: Bool = true

}

ステップ2: RealmFunctions.Swiftという別のクラスを作成します。

import RealmSwift


func realmAndPath() -> Realm {
    if Constants.dev {
        // location of my desktop
        let testRealmURL = NSURL(fileURLWithPath: "/Users/#####/Desktop/TestRealm.realm")
        return try! Realm(fileURL: testRealmURL)
    } else {
        return try! Realm()
    }
}

ステップ3: 最後にあなたのView Controllerで:

let realm = realmAndPath()

元の答えをくれたStewart Lynchに感謝

9
OWADVL

上記の回答には、Androidプラットフォームでレルムファイルを見つける方法が欠けていて、この方法であなたの時間を節約できると信じています。これは一般的に、レルムファイルを取得するための他の方法で無駄になります。それでは始めましょう...

最初にAndroid Studioで[Device File Explorer]を開きます([表示] - > [ツール] - [Windows] - > [Device File Explorer]の順に選択します)。

これでデバイスエクスプローラが開きます。

enter image description here

今開く データ - >データ - >(your_app_package_name) - >ファイル - > default.realm

default.realm は、ここにいるファイルです。今すぐあなたの場所にこのファイルを保存してrealm_browserからファイルにアクセスするとあなたのデータベースを取得するでしょう。

注:言及されているアプローチは根ざしていない電話(1 + 3)でテストされています。

6
anoopbryan2

'Enter Encryption Key'ダイアログボックスのエラーが表示された場合:

Swift 2.1とRealm 0.96.2を使用していて、データベースファイルを開こうとするとこのエラーが発生しました。

'デフォルト'を開けませんでした。暗号化されているか、互換性のあるファイル形式ではありません。ファイルが暗号化されていることがわかっている場合は、手動で暗号化キーを入力して開くことができます。

Realm Browser 0.96のプレリリース版を使用することで問題が解決したことがわかりました。

https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease

5
sameer

あなたのアプリのためだけにiOSシミュレータ上にあります

入る

console.log (Realm.defaultPath)

コード内では例:App.js

3
leyliu.com

まず、これがAndroidスレッドであることを私は認めますが、それは一般的にこの問題の最初の検索結果です。

Realmブラウザで最後に作成されたXcode Simulator Realmデータベースを開くには、Automatorでこのスクリプトを使用するか、端末ですべて入力します。 Automatorを使用することで、現在の領域にワンクリックでアクセスできます。

    cd ~/Library/Developer/CoreSimulator/Devices/
    cd `ls -t | head -n 1`/data/Containers/Data/Application
    cd `ls -t | head -n 1`/Documents    
    open -a 'Realm Browser' ./default.realm

レルムブラウザをインストールします。 Automatorで、Newをクリックし、Run Shell Scriptを選択し、コードを貼り付け、Realm Db名を変更し、Runをクリックしてテストし、クイッククリックアクセスに便利な場所にファイルを保存します。

私が最初にこのtipを見つけた場所はわかりませんが、このスレッドは私が過去に私のライブデータにアクセスしていた方法を思い出させました。

3
J. Roth

シミュレータでデフォルトのレルムDBを使用している場合:

po Realm().configuration.fileURL
2
superarts.org

スウィフトで

func getFilePath() -> URL? {
    let realm = try! Realm()
    return realm.configuration.fileURL
}
2
Mahmud Ahsan

私はこれを一歩進めました。 RealmFunctions というSwiftファイルを作成し、その中にこの関数を作成しました。

    import RealmSwift
    func realmAndPath() -> Realm {
        if dev {
            // location of my desktop
            return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
        } else {
            return try! Realm()
        }
    }

メインのView Controllerには、devというグローバルブール変数があります。

var dev: Bool = true // when in development mode
var dev: Bool = false // when I want to run on my device or upload to app stor.

さて、私のコードでやらなければならないことはそれだけです。

let realm = realmAndPath()

そのため、開発モードでは、自分のレルムデータベースを自分のデスクトップで見つけて、レルムブラウザで開くことができます。

2
Stewart Lynch

TerminalでSudo find / -name "*.realm"というコマンドを発行して、レルムファイルを見つけました。

お役に立てれば!

2
teechap

IOSのDBパスを取得するには、最も簡単な方法は次のとおりです。

  1. アプリをシミュレータで起動する
  2. デバッガでいつでも一時停止する
  3. コンソール((lldb)がある場所)に行き、次のように入力します。po RLMRealm.defaultRealmPath

多田...あなたはあなたの領域データベースへのパスを持っています

1
denislexic

正しい(lldb)コマンドはRealm.Configuration.defaultConfiguration.pathです。

1
Kokotoni Wilf

Xcode 7、Swift 2.2以降の正しいlldbコマンドはpo Realm.Configuration.defaultConfiguration.path!です。

0
Marquis103

React Nativeを使っていてデフォルトのレルムを使っている人のために:

Realm.defaultPath

0

Swift 2.3ソリューション

Realmのアップデートでは壊れない、より簡単なソリューション

    let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    print("App Path: \(dirPaths)")

.realmファイルは "Documents"の中にあるはずです

0
apinho

[ツール] - > [Androidデバイスモニタ]の下

そしてファイルエクスプローラの下で。アプリを検索してください。そしてファイルはdata/dataの下にあります。

0
Spidey