私はDBをレルムで作成しましたが、私のOS(Yosemite)は/ private/var/mobileにmobileフォルダを持っていないのでファイルを見つけることができません。
ブラウザで実行するには、どうすれば自分の領域にアクセスできますか?
Googleグループからのクロス投稿
デバイスが接続されていることを確認し、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によって間違ったシミュレータアプリフォルダに移動されたとの説明がある人もいますが、その場合は上記の手順に従ってrealm.pathを印刷し、realmパスを印刷します
ここに簡単な解決策があります。私が指摘しておかなければならないのは、これは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)好きな場所に保存してください。
スマートフォルダを作成する/ Finderで検索する。すべてのレルムファイルにすばやく簡単にクリックできるようにします。
Finderでフォルダ/Users/$USER/Library/Developer/CoreSimulator/Devices
を開きます。
端末open /Users/$USER/Library/Developer/CoreSimulator/Devices
を使って
を検索する.realm
検索を変更して、"Devices"
フォルダーのみを検索します。
日付順に並べ替えると、最新の修正済みシミュレータ.realm
ファイルのすばやく簡単にクリックできるリストが表示されます。
私がしたのは使用することでした
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
そしてそれは私のデスクトップ上にフルビューで作成されます、そして私はそれの上でレルムブラウザを起動するためにダブルクリックすることができます。後で、すべてが正常に機能していることを確認したら、パラメータを削除してデフォルトの場所を使用できるようにします。
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 を開くことができます。
stethoのチェックアウトおよび https://github.com/uPhyca/stetho-realm ここのビデオチュートリアル: https://www.youtube.com/watch?v=9pFJz5VexRw
どちらか
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に感謝
上記の回答には、Androidプラットフォームでレルムファイルを見つける方法が欠けていて、この方法であなたの時間を節約できると信じています。これは一般的に、レルムファイルを取得するための他の方法で無駄になります。それでは始めましょう...
最初にAndroid Studioで[Device File Explorer]を開きます([表示] - > [ツール] - [Windows] - > [Device File Explorer]の順に選択します)。
これでデバイスエクスプローラが開きます。
今開く データ - >データ - >(your_app_package_name) - >ファイル - > default.realm
default.realm は、ここにいるファイルです。今すぐあなたの場所にこのファイルを保存してrealm_browserからファイルにアクセスするとあなたのデータベースを取得するでしょう。
注:言及されているアプローチは根ざしていない電話(1 + 3)でテストされています。
'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
あなたのアプリのためだけにiOSシミュレータ上にあります
入る
console.log (Realm.defaultPath)
コード内では例:App.js
まず、これが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を見つけた場所はわかりませんが、このスレッドは私が過去に私のライブデータにアクセスしていた方法を思い出させました。
シミュレータでデフォルトのレルムDBを使用している場合:
po Realm().configuration.fileURL
スウィフトで
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
私はこれを一歩進めました。 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()
そのため、開発モードでは、自分のレルムデータベースを自分のデスクトップで見つけて、レルムブラウザで開くことができます。
TerminalでSudo find / -name "*.realm"
というコマンドを発行して、レルムファイルを見つけました。
お役に立てれば!
IOSのDBパスを取得するには、最も簡単な方法は次のとおりです。
(lldb)
がある場所)に行き、次のように入力します。po RLMRealm.defaultRealmPath
多田...あなたはあなたの領域データベースへのパスを持っています
正しい(lldb)コマンドはRealm.Configuration.defaultConfiguration.path
です。
Xcode 7、Swift 2.2以降の正しいlldbコマンドはpo Realm.Configuration.defaultConfiguration.path!
です。
React Nativeを使っていてデフォルトのレルムを使っている人のために:
Realm.defaultPath
Swift 2.3ソリューション
Realmのアップデートでは壊れない、より簡単なソリューション
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
print("App Path: \(dirPaths)")
.realmファイルは "Documents"の中にあるはずです
[ツール] - > [Androidデバイスモニタ]の下
そしてファイルエクスプローラの下で。アプリを検索してください。そしてファイルはdata/dataの下にあります。