如何find我的领域文件?

我已经创build了一个数据库领域,我无法find该文件作为我的操作系统(优胜美地)没有移动文件夹在/私人/变种/手机。

我应该如何访问我的领域在浏览器中运行?

交叉从谷歌组发布

寻找领域文件

对于Android

如何查看Realm浏览器中的Realm文件?

对于iOS

如果您的应用程序在设备上

确保您的设备已连接并进入Xcode菜单窗口>设备 (⌘⇧2)中的设备窗口。 在那里您将能够从已安装的应用程序列表中select您的设备和您的应用程序,并拥有debugging权限。

select您的应用程序后,转到表格视图底部工具栏中的齿轮,然后select“下载容器…” 。 在那里您将能够将文件从文档位置拖到您的Mac。 它将被保存为一个xcappdata包。

在Finder中打开保存的本地path时,可以通过在select器的上下文菜单中select“显示软件包内容”来select文件。 一个新的查找窗口将打开,你可以在下面的path中find你的Realm:AppData / Documents / default.realm(目录'/ private / var / mobile'是iOS上使用的path设备文件系统。

如果你的应用程序在模拟器上

转到您的用户目录:

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

获取默认域的当前path的最简单方法可能是暂停模拟器并在LLDB控制台中input以下内容:

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

Swift使用Realm Objective-C
(lldb) po RLMRealmConfiguration.defaultConfiguration().fileURL

Swift使用Realm Swift
(lldb) po Realm.Configuration.defaultConfiguration.fileURL

或者,如果您有一个RLMRealm实例,您可以使用:
(lldb) po myRealm.configuration.fileURL

然后复制这个path,打开你的terminal,然后open [在这里粘贴path]

注:有些path中有一个空间,所以一定要使用“\”之前的空间来逃脱它

助手工具SimPholders

这可能是在模拟器中查找应用程序文件的最快方法。 安装SimPholders 。 这将允许您直接从菜单栏访问您的应用程序的文档目录。

注意有些人提到SimPholder把他们带到了错误的模拟器应用程序文件夹中,如果是这样的话,按照上面的步骤打印出你的领域path,打印出你的领域path

我发现最简单的iOS / MacOS(对于Swift 3 Xcode 8.3)

 override func viewDidLoad() { // for swift 2.0 Xcode 7 print(Realm.Configuration.defaultConfiguration.fileURL!) } 

然后x代码将logging正确的path,检查下面的屏幕。

在这里输入图像描述

现在打开你的Finder并按下 + + G (command + shift + G)并粘贴loginXcodepath

这是一个简单的解决scheme..我搞砸了一段时间。 我应该指出,这是使用Android Studio和AVD Emulator的一组特定指令。

1)启动模拟器并运行你的应用程序。

2)当应用程序仍在运行时,打开Android设备监视器。 (它位于AVD和SDKpipe理器图标旁边的工具栏中)

3)单击设备监视器中的文件资源pipe理器选项卡。 应该有很多文件夹。

4)导航以下path:数据>数据> 您的包名称 >文件> Default.Realm(或任何您命名它)

防爆。 如果您正在使用领域示例项目之一,则path将类似于Data> Data> io.realm.examples.realmgridview> files> default.realm

5)突出显示文件,单击右上方“从设备中拉出文件”中的软盘图标

6)把它保存下来,无论你想要做什么。

我所做的就是使用

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

然后在我的桌面上以全视图创build,我可以双击来启动Realm浏览器。 后来,我可以删除参数,并让我使用默认的位置,当我满意,所有的按预期工作。

Objective-C – [RLMRealmConfiguration defaultConfiguration].fileURL

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

EG-/用户/ “您的用户名”/库/开发商/ CoreSimulator /设备/ E58645FF-90DE-434D-B2EB-FA145EB6F2EA /数据/集装箱/数据/应用/ E427BD21-2CB1-4F64-9ADF-8742FF731209 /文档/

这是您可以运行以获取.realm文件path的最简单的命令。 所有读取和写入操作完成后,您将看到.realm文件。

要么

你可以开源openSim ,替代模拟器直接从你的菜单栏访问你的应用程序的文档目录

更新了最新领域的答案:

对于Android:

结帐stetho和https://github.com/uPhyca/stetho-realmvideo教程在这里:; https : //www.youtube.com/watch? v = 9pFJz5VexRw

对于IOS(Swift)

或者:

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

要么

第1步:有一个常量调用开发的地方。 我们说恒定的文件

 public class Constants { public static var dev: Bool = true } 

第2步:创build另一个名为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() 

感谢斯图尔特林奇的原始答案

如果您获得“inputencryption密钥”对话框错误:

我正在使用Realm 0.96.2的Swift 2.1,并试图打开数据库文件时出现此错误:

“默认”无法打开。 它可能被encryption,或者它不是兼容的文件格式。 如果您知道该文件已encryption,则可以手动input其encryption密钥以将其打开。

发现使用Realm Browser 0.96的预发行版本修复了这个问题:

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

我已经更进了一步。 我创build了一个名为RealmFunctions的swift文件,并在其中创build了这个函数

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

现在在我的主视图控制器,我有一个全局布尔variables称为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() 

所以在开发模式下,我可以在我的桌面上find我的领域数据库,并可以在Realm Browser中打开。

要获得iOS的数据库path,最简单的方法是:

  1. 在模拟器中启动您的应用程序
  2. 在debugging器中随时暂停
  3. 转到控制台(你有(lldb) ),然后键入: po RLMRealm.defaultRealmPath

多田…你有通往你的领域数据库的path

正确的(lldb)命令是: Realm.Configuration.defaultConfiguration.path

我发现我的领域文件在terminal发出这个命令: sudo find / -name "*.realm"

希望这可以帮助!

首先,我承认这是一个Android线程,但它是这个问题的首个search结果。

要在Realm Browser中打开最近创build的Xcode Simulator Realm db,您可以在Automator中使用此脚本,或者在terminal中input它。 通过使用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浏览器。 在Automator中,单击新build,select运行Shell脚本,粘贴代码,更改Realm Db名称,单击运行testing,将文件保存到方便快速点击访问的位置。

我不知道我在哪里第一次发现这个技巧,但这个线程提醒了我过去如何访问我的实时数据。

在工具 – > Android设备监视器下

在文件资源pipe理器下。 search应用程序。 该文件在数据/数据下。

Xcode 7,Swift 2.2+的正确lldb命令是po Realm.Configuration.defaultConfiguration.path!

Swift 2.3解决scheme

更简单的解决scheme,不会破坏Realm更新

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

.realm文件应该位于“文档”

对于那些使用React Native并使用默认领域的用户:

Realm.defaultPath

一个简单的替代模拟器应用程序

在Finder中创build一个智能文件夹/search。 为所有领域文件提供快速,轻松的可点击访问。

  1. 在Finder中浏览到/Users/<username>/Library/Developer/CoreSimulator/Devices

  2. search.realm

  3. 更改search仅查看"Devices"文件夹。

search设备文件夹

  1. 将search保存到您的边栏(例如作为领域)

保存到侧边栏的search

当按datesorting时,这将给你一个快速和简单的最新修改的模拟器.realm文件的可点击列表。