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

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

交叉张贴从谷歌组


当前回答

目标- c - [rlmreal配置defaultcontion

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

小薇- \用户“Your-user-name / Library /开发商CoreSimulator - - E58645FF-90DE-434D-B2EB-FA145EB6F2EA Containers /数据带给您应用程序/ E427BD21-2CB1-4F64-9ADF-8742FF731209文档/

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

Or

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

其他回答

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

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

正如前面提到的,您可以使用next方法来查找文件位置

//code
Realm.Configuration.defaultConfiguration.fileURL 

//lldb
(lldb) po Realm.Configuration.defaultConfiguration.fileURL

或者你可以手动找到它:

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

//for example
/Users/alex/Library/Developer/CoreSimulator/Devices/E1D084B0-CD97-41B4-871F-E131CA33F635/data/Containers/Data/Application/373721C7-2381-4E3D-9ABC-2147F748322F/Documents/

//iPhone (download a copy)
Xcode -> Window -> Devices and Simulators -> Devices -> <select device and app> -> App container actions -> Download Container... -> <selectfolder and navigate to it (.xcappdata)> -> Right Click -> Show Package Consents -> AppData -> Documents

*请注意,如果你为realm设置了文件名,并且它有一些其他扩展名而不是。realm, RealmStudio默认不会打开它

虽然这个问题本身是针对iOS系统的,但它的标题却很普通,所以我才来到这里。所以,我觉得有必要在这里分享一个Windows的解决方案。

在dotnet c#中,使用realm. config . databasepath查看域文件的位置。如果没有不同的设置,那么它是C:\Users\<username>\Documents\default。以及default.realm.management文件夹和default.realm.lock

要设置一个新路径,调整这段代码(文件夹必须存在,否则会出错)

var realm = Realm.GetInstance(new RealmConfiguration(optionalPath: "C:/myproject/myrealm/myproject.realm" ));

目标- c - [rlmreal配置defaultcontion

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

小薇- \用户“Your-user-name / Library /开发商CoreSimulator - - E58645FF-90DE-434D-B2EB-FA145EB6F2EA Containers /数据带给您应用程序/ E427BD21-2CB1-4F64-9ADF-8742FF731209文档/

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

Or

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

查找域文件

为安卓

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

为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