如何找到我的领域文件?

yos*_*osh 230 realm

我已经通过领域创建了一个数据库,我无法找到该文件,因为我的操作系统(Yosemite)在/ private/var/mobile中没有移动文件夹.

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

Cross从谷歌小组发布

yos*_*osh 461

查找领域文件

对于Android

如何在领域浏览器中查看我的Realm文件?

对于iOS

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

确保您的设备已连接并转到Xcode菜单窗口>设备(⌘⇧2)中的设备窗口.在那里,您可以从已安装的应用程序列表中选择具有调试权限的设备和应用程序.

选择应用程序后,转到表格视图底部工具栏中的齿轮,然后选择"下载容器...".在那里,您可以将文件从文档位置拉到Mac.它将保存为xcappdata包.

当您在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

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

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

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

然后只需复制此路径,打开终端,然后在此处键入open [粘贴路径]

注意:某些路径中有一个空格,因此请确保在空格之前使用"\"来转义它

帮助工具SimPholders

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

注意有些人提到SimPholders已将它们带到错误的模拟器应用程序文件夹中,如果是这种情况,请按照上述步骤打印出你的领域路径,打印出你的领域.

  • 这个答案的一部分现在已经过时了.以下是使用RealmSwift查找领域数据库文件(default.realm)的最新方法:`Realm.Configuration.defaultConfiguration.fileURL` (5认同)
  • Objective-C版本高于0.97使用`po [[RLMRealm defaultRealm] path]` (2认同)
  • 使用 RealmSwift 方法,我得到以下信息:`error: use of undeclared identifier 'Realm'` (2认同)

Kam*_*LIB 118

我找到了最简单的iOS/macOS方式(适用于swift 3 Xcode 8.3)

override func viewDidLoad() {

   // for swift 2.0 Xcode 7
   print(Realm.Configuration.defaultConfiguration.fileURL!)
}
Run Code Online (Sandbox Code Playgroud)

然后x代码将记录正确的路径,请检查下面的屏幕.

在此输入图像描述

现在打开Finder并按+ + G(命令+ shift + G)并粘贴登录Xcode路径

  • 路径已弃用.使用`Realm.Configuration.defaultConfiguration.fileURL`代替 (10认同)
  • swift 3,xcode8.3也适用于`Realm.Configuration.defaultConfiguration.fileURL!` (3认同)
  • 它已更改为Realm.configuration.fileURL (2认同)

Arc*_*oog 27

模拟器应用程序的一个简单选择

在Finder中创建智能文件夹/搜索.提供对所有领域文件的快速轻松的可点击访问.

  1. /Users/$USER/Library/Developer/CoreSimulator/Devices在Finder中打开文件夹.

    有终端 open /Users/$USER/Library/Developer/CoreSimulator/Devices

  2. 搜索 .realm

  3. 更改搜索以"Devices"仅查找文件夹.

  1. 将搜索保存到侧边栏(例如,作为领域)

按日期排序时,这将为您提供最新修改的模拟器.realm文件的快速简便的可点击列表.

  • 将其保存为搜索天才!谢谢!:) (3认同)

小智 22

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

1)启动模拟器并运行您的应用程序.

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

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

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

防爆.如果您正在使用其中一个领域示例项目,那么路径将类似于Data> Data> io.realm.examples.realmgridview> files> default.realm

5)突出显示文件,单击右上方区域中的"软盘"图标"从设备中提取文件"

6)将它保存到您想要和完成的任何地方.


Ste*_*son 18

我做的是使用

let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")
Run Code Online (Sandbox Code Playgroud)

然后它在我的桌面上以完整视图创建,我可以双击以启动Realm Browser.稍后,我可以删除参数,并在我满意所有工作都按预期工作时让它使用默认位置.

  • 这是一个犯罪率低的投票回答imo (5认同)

Pri*_*nsh 11

Objective-C - [RLMRealmConfiguration defaultConfiguration].fileURL

NSLog(@"%@",[RLMRealmConfiguration defaultConfiguration].fileURL);
Run Code Online (Sandbox Code Playgroud)

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

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

要么

您可以将开源的OpenSim,替代simpholders直接从你的菜单栏访问应用程序的文件目录


OWA*_*DVL 9

更新了最新Realm的答案:

对于Android:

checkout stetho和https://github.com/uPhyca/stetho-realm 视频教程:https://www.youtube.com/watch? v = 9pFJz5VexRw

对于IOS(斯威夫特)

或者:

debugPrint("Path to realm file: " + realm.configuration.fileURL!.absoluteString)
Run Code Online (Sandbox Code Playgroud)

要么

第1步:在某个地方有一个名为dev的常量.我们说Constant文件

public class Constants {

    public static var dev: Bool = true

}
Run Code Online (Sandbox Code Playgroud)

第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()
    }
}
Run Code Online (Sandbox Code Playgroud)

第3步:最后在你的视图控制器中:

let realm = realmAndPath()
Run Code Online (Sandbox Code Playgroud)

感谢Stewart Lynch的原始答案


ano*_*an2 9

上面的答案缺少在Android平台中查找领域文件的方法,并且相信我这种方法将节省您的大量时间,而我们通常在其他方法中浪费这些时间来获取领域文件。所以我们开始吧...

首先在android studio中打开“设备文件资源管理器”(查看->工具Windows->设备文件资源管理器。

这将打开您的设备资源管理器。

在此处输入图片说明

现在打开数据->数据->(您的应用程序包名称)->文件-> default.realm

default.realm是我们在这里的文件。现在,将这个文件另存为文件,然后从realm_browser访问该文件,您将获得数据库。

注意:提到的方法已在无根电话(one + 3)上进行了测试。


sup*_*org 6

如果您在模拟器中使用默认的Realm DB:

po Realm().configuration.fileURL
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您收到"输入加密密钥"对话框错误:

我正在使用Swift 2.1与Realm 0.96.2,并在尝试打开数据库文件时收到此错误:

'default'无法打开.它可能是加密的,或者不是兼容的文件格式.如果您知道文件已加密,则可以手动输入其加密密钥以将其打开.

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

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


Mus*_*les 5

2020:iOS真实设备上的Realm文件(不是模拟器)

从顶部的菜单栏开始,然后按照以下顺序操作:-

  1. 窗户

  2. 设备和模拟器

  3. 选择设备

  4. 在底部找到标题(已安装的应用程序)

    注意:向下滚动或放大“设备和模拟器”弹出窗口以查看已安装应用程序的列表。

  5. 选择您的应用程序。

  6. 点击齿轮按钮(位于应用程序列表的底部

  7. 下载容器

  8. 选择保存位置。

  9. 右键单击下载的文件

  10. 显示包装内容

  11. 应用程序数据

就这样,您可以根据您的配置访问您的领域文件。例如,如果您保存在“文档”或“库”文件夹中,只需打开它即可查看您的领域。