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

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

交叉张贴从谷歌组


当前回答

首先,我承认这是一个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名称,单击运行测试,将文件保存到方便快速点击访问的地方。

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

其他回答

正确的(lldb)命令是:Realm.Configuration.defaultConfiguration.path。

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

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

我所做的就是利用

let realm = Realm(path: "/Users/me/Desktop/TestRealm.realm")

然后它就会在桌面上全屏显示出来,我可以双击打开Realm浏览器。稍后,当我满意一切都按预期工作时,我可以删除参数并让它使用默认位置。

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

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

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

我为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上的日志路径