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

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

交叉张贴从谷歌组


当前回答

这里有一个简单的解决办法。我搞砸了一段时间。我要指出的是,这是一组使用Android Studio和AVD模拟器的特定指令。

1)启动模拟器并运行应用程序。

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

3)在“设备监控”中单击“文件资源管理器”页签。应该有很多文件夹。

4)进入如下路径:数据>数据>您的包名>文件>默认。王国(或者其他你命名的地方)

例如,如果你正在使用一个领域示例项目,路径将是类似于Data>Data>io.realm.examples.realmgridview>files>default.realm

5)选中文件,点击右上角的软盘图标“从设备中提取文件”

6)把它保存到任何你想要的地方。

其他回答

虽然这个问题本身是针对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" ));

首先,我承认这是一个Android线程,但这是这个问题的第一个搜索结果。

要在Realm Browser中打开最近创建的Xcode Simulator Realm db,你可以在Automator中使用这个脚本,或者在终端中全部输入。通过使用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中,单击新建,选择运行Shell脚本,粘贴代码,更改Realm Db名称,单击运行测试,将文件保存到方便快速点击访问的地方。

我不知道我第一次在哪里找到这个技巧,但这个帖子提醒了我过去是如何访问我的实时数据的。

正如前面提到的,您可以使用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/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上的日志路径

要获得iOS的DB路径,最简单的方法是:

在模拟器中启动应用程序 在调试器中随时暂停它 转到控制台(您有(lldb))并键入:po RLMRealm.defaultRealmPath

恩……您拥有到域数据库的路径