回答:
デバイスが接続されていることを確認し、Xcodeメニューの[ ウィンドウ ] > [デバイス ]でデバイスウィンドウに移動します(⌘⇧2)。そこで、デバッグ権限を持つインストール済みアプリのリストからデバイスとアプリを選択できます。
アプリを選択したら、テーブルビューの下部にあるツールバーの歯車に移動し、[ コンテナをダウンロード…]を選択します。そこで、ドキュメントの場所からMacにファイルをプルすることができます。xcappdataバンドルとして保存されます。
保存したFinderでローカルパスを開くと、ファイルを選択したときに、Finder のコンテキストメニューで[ パッケージの内容を表示 ]を選択することで、そのパスを利用できます。新しいファインダーウィンドウが開き、次のパス(例: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
注:一部のパスにはスペースが含まれているため、スペースの前に「\」を使用してエスケープしてください
これはおそらく、シミュレーターでアプリのファイルを見つける最も速い方法です。SimPholdersをインストールします。これにより、メニューバーからアプリのドキュメントディレクトリに直接アクセスできます。
注一部の人々は、SimPholdersがそれらを間違ったシミュレーターアプリフォルダーに移動したと述べました。その場合は、上記の手順に従ってレルムパスを出力し、realm.pathを出力してください。
po RLMRealm.defaultRealmPath()
。それは言うcalled object type 'NSString *' is not a function or function pointer
po [[RLMRealm defaultRealm]path]
Realm.Configuration.defaultConfiguration.fileURL
error: use of undeclared identifier 'Realm'
私はiOS / macOSの最も簡単な方法を見つけました(Swift 3 Xcode 8.3用)
override func viewDidLoad() {
// for swift 2.0 Xcode 7
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
次に、xコードが正しいパスをログに記録します。以下の画面を確認してください。
Finderを開いて⌘+ ⇧+ G(command + shift + G)を押し、Xcodeにログオンするパスを貼り付けます
Realm.Configuration.defaultConfiguration.fileURL
代わりに使用
Realm.Configuration.defaultConfiguration.fileURL!
Finderでスマートフォルダ/検索を作成します。すべてのレルムファイルにすばやく簡単にクリックできるアクセスを提供します。
/Users/$USER/Library/Developer/CoreSimulator/Devices
Finderでフォルダを開きます。
端子付き open /Users/$USER/Library/Developer/CoreSimulator/Devices
検索する .realm
"Devices"
フォルダーのみを検索するように検索を変更します。
日付順に並べ替えると、最新の変更されたシミュレータ.realm
ファイルのリストがすばやく簡単にクリックできるようになります。
これが簡単な解決策です。しばらくの間、私はこれをいじりました。指摘しておきますが、これはAndroid StudioとAVDエミュレータを使用する特定の手順です。
1)エミュレータを起動してアプリを実行します。
2)アプリの実行中にAndroidデバイスモニターを開きます。(AVDおよびSDKマネージャーのアイコンの横にあるツールバーにあります)
3)デバイスモニターの[ファイルエクスプローラー]タブをクリックします。フォルダがたくさんあるはずです。
4)次のパスに移動します:データ>データ> パッケージ名 >ファイル> Default.Realm(または名前を付けたもの)
例 レルムのサンプルプロジェクトの1つを使用している場合、パスはData> Data> io.realm.examples.realmgridview> files> default.realmのようになります。
5)ファイルを強調表示し、右上の「デバイスからファイルをプルする」領域のフロッピーディスクアイコンをクリックします。
6)好きな場所に保存してください。
私がしたことは使用することでした
let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
デスクトップにフルビューで作成され、ダブルクリックしてRealm Browserを起動できます。後で、パラメーターを削除し、すべてが期待どおりに機能していることを確認したら、デフォルトの場所を使用することができます。
Objective-C- [RLMRealmConfiguration defaultConfiguration].fileURL
NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
Eg- / Users / "Your-user-name" / Library / Developer / CoreSimulator / Devices / E58645FF-90DE-434D-B2EB-FA145EB6F2EA / data / Containers / Data / Application / E427BD21-2CB1-4F64-9ADF-8742FF731209 / Documents /
これは、.realmファイルへのパスを取得するために実行できる最も簡単なコマンドです。すべての読み取りおよび書き込み操作が完了すると、.realmファイルが表示されます。
または
メニューバーから直接アプリのドキュメントディレクトリにアクセスするためのシンプホルダーの代わりに、オープンソースのopenSimを開くことができます。
上記の答えは、Androidプラットフォームでレルムファイルを見つける方法が欠けているため、この方法で多くの時間を節約でき、レルムファイルを取得する他のアプローチでは通常無駄になる時間を節約できると私は信じています。それでは始めましょう...
最初にandroid studioで「デバイスファイルエクスプローラー」を開きます(表示->ツールウィンドウ->デバイスファイルエクスプローラー。
これにより、デバイスエクスプローラが開きます。
データを開く->データ->(your_app_package_name)->ファイル-> default.realm
default.realmは、ここにあるファイルです。次に、このファイルを場所にSave_asして、realm_browserからファイルにアクセスすると、データベースが取得されます。
注:言及されているアプローチは、根ざしていない電話(one + 3)でテストされています。
シミュレーターでデフォルトのRealm DBを使用している場合:
po Realm().configuration.fileURL
チェックアウト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:最後にビューコントローラーで:
let realm = realmAndPath()
元の答えのスチュワートリンチに感謝
realm.path
する必要がありますrealm.configuration.fileURL!.absoluteString
[暗号化キーの入力]ダイアログボックスのエラーが発生する場合:
レルム0.96.2でSwift 2.1を使用していて、データベースファイルを開こうとするとこのエラーが発生しました。
「デフォルト」を開けませんでした。暗号化されているか、互換性のあるファイル形式ではありません。ファイルが暗号化されていることがわかっている場合は、暗号化キーを手動で入力してファイルを開くことができます。
Realm Browser 0.96のプレリリースバージョンを使用すると問題が解決することがわかりました。
https://github.com/realm/realm-browser-osx/releases/tag/0.96-prerelease
まず、これがAndroidスレッドであることを認めますが、これは一般的にこの問題の最初の検索結果です。
最近作成されたXcode Simulator Realm dbをRealm Browserで開くには、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
Realm Browserをインストールします。Automatorで、[新規]をクリックし、[シェルスクリプトの実行]を選択して、コードを貼り付け、レルムデータベース名を変更し、[実行]をクリックしてテストし、クイッククリックでアクセスできる場所にファイルを保存します。
初めてこのヒントを見つけた場所はわかりませんが、このスレッドは、過去のライブデータへのアクセス方法を思い出させてくれました。
あなたのアプリだけがiOSシミュレータ上にあります
入る
console.log (Realm.defaultPath)
コードの例:App.js
これをさらに一歩進めました。RealmFunctionsという迅速なファイルを作成し、その中にこの関数を作成しました
import RealmSwift
func realmAndPath() -> Realm {
if dev {
// location of my desktop
return try! Realm(path: "/Users/slynch/Desktop/TestRealm.realm")
} else {
return try! Realm()
}
}
私のメインビューコントローラーには、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()
開発モードでは、自分のレルムデータベースをデスクトップで見つけて、レルムブラウザで開くことができます。
スウィフトで
func getFilePath() -> URL? {
let realm = try! Realm()
return realm.configuration.fileURL
}
iOSのDBパスを取得するには、最も簡単な方法は次のとおりです。
(lldb)
)に移動して、次のように入力します。po RLMRealm.defaultRealmPath
多田...あなたはあなたのレルムデータベースへのパスを持っています
React Nativeを使用し、デフォルトのレルムを使用する場合:
Realm.defaultPath
componentDidMount() { console.log(Realm.defaultPath) }
私のコンポーネントでRealmを使用するとうまくいきました。その後、xcodeコンソールでパスを確認します。
Xcode 7、Swift 2.2以降の正しいlldbコマンドは po Realm.Configuration.defaultConfiguration.path!
path
、fileURL
Realm.Configuration.defaultConfiguration.fileURL!
po Realm.Configuration.defaultConfiguration.fileURL?.path