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

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

交叉张贴从谷歌组


当前回答

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

override func viewDidLoad() {

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

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

现在打开你的Finder并按⌘+ +G (command+shift+G)并粘贴到Xcode上的日志路径

其他回答

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

在Finder中创建智能文件夹/搜索。提供快速和简单的点击访问所有的领域文件。

在Finder中打开文件夹/Users/$USER/Library/Developer/CoreSimulator/Devices。 终端打开/Users/$USER/Library/Developer/CoreSimulator/Devices 搜索。realm 将搜索改为只在“设备”文件夹中查找。

保存搜索到你的侧边栏(例如作为Realms)

当按日期排序时,这将为您提供一个快速和容易点击的最新修改模拟器.realm文件列表。

如果你试图从真正的iOS设备中找到你的域文件

在Xcode 12中为我工作过

步骤,

在Xcode中,打开Window -> Devices and Simulators 从左侧列表中选择您的设备 在已安装的应用程序部分中选择您的应用程序名称 现在,突出你的应用程序名称,并点击它下面的齿轮图标 从下拉菜单中选择下载容器选项 选择要保存文件的位置 右键单击刚刚保存的文件并选择Show Package Contents 在App Data文件夹中,导航到你保存文件的文件夹。

查找域文件

为安卓

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

为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

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

在斯威夫特

func getFilePath() -> URL? {
    let realm = try! Realm()
    return realm.configuration.fileURL
}