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

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

交叉张贴从谷歌组


当前回答

上面的答案是在Android平台上找不到领域文件的方法,相信我,这种方法会节省你很多时间,而我们通常用其他方法来获取领域文件。让我们开始…

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

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

现在打开data -> data -> (your_app_package_name) -> files -> default.realm

违约。Realm是我们在这里的文件。现在Save_as这个文件在您的位置,并从realm_browser访问该文件,您将得到您的数据库。

注意:上述方法是在非root手机(1 +3)上测试的。

其他回答

android和ios的所有步骤都可以在官方网站上找到: https://support.realm.io/support/solutions/articles/36000064525-how-do-i-locate-realm-files-on-a-device-or-simulator-

查找域文件

为安卓

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

为iOS

如果你的应用在设备上

确保你的设备已经连接,然后在Xcode菜单中进入设备窗口window > devices(⌘2)。在那里,你可以从已安装的具有调试权限的应用程序列表中选择你的设备和应用程序。

选择你的应用程序后,转到表格视图底部工具栏的齿轮上,选择“下载容器…”。在那里,你可以将文件从文档位置拉到你的Mac上。它将被保存为xcappdata包。

当你在Finder中打开保存文件的本地路径时,当你选择文件时,你可以通过在Finder的上下文菜单中选择“显示包内容”来进入该路径。一个新的查找器窗口将打开,在下面的路径中(例如)你可以找到你的领域:AppData/Documents/default。目录'/private/var/mobile'是iOS在设备文件系统上使用的路径。

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

进入您的用户目录:

/用户/ <用户名> /图书馆/开发/ CoreSimulator /设备/ < simulator-uuid > /数据/集装箱/数据/应用程序/ < application-uuid > /文件/ default.realm

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

Objective-C: (lldb) po [rlmrealm配置defaultcontion]

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

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

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

然后复制这个路径,打开终端,输入open[粘贴路径]

注意:有些路径中有空格,所以一定要在空格前使用“\”来转义

辅助工具simholder

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

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

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

Realm.defaultPath

上面的答案是在Android平台上找不到领域文件的方法,相信我,这种方法会节省你很多时间,而我们通常用其他方法来获取领域文件。让我们开始…

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

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

现在打开data -> data -> (your_app_package_name) -> files -> default.realm

违约。Realm是我们在这里的文件。现在Save_as这个文件在您的位置,并从realm_browser访问该文件,您将得到您的数据库。

注意:上述方法是在非root手机(1 +3)上测试的。

我在这方面更进一步。 我已经创建了一个名为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()
        }
    }

现在在我的主视图控制器中,我有一个全局布尔变量叫做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()

因此,当处于开发模式时,我可以在桌面上找到我的领域数据库,并可以在领域浏览器中打开。