如何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)并粘贴loginXcode的path
这是一个简单的解决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,最简单的方法是:
- 在模拟器中启动您的应用程序
- 在debugging器中随时暂停
- 转到控制台(你有
(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。 为所有领域文件提供快速,轻松的可点击访问。
-
在Finder中浏览到
/Users/<username>/Library/Developer/CoreSimulator/Devices
-
search
.realm
-
更改search仅查看
"Devices"
文件夹。
search设备文件夹
- 将search保存到您的边栏(例如作为领域)
保存到侧边栏的search
当按datesorting时,这将给你一个快速和简单的最新修改的模拟器.realm
文件的可点击列表。