如何查找Mac App的Realm文件位置

时间:2016-07-09 07:50:50

标签: swift macos cocoa realm

首先,我对Realm生态系统很新。

我在AppDelegate的{​​{1}}方法

中尝试过此操作
applicationDidFinishLaunching

但是它给了我错误,因为我已经为print("Realm Path : \(realm.configuration.fileURL?.absoluteURL)") 对象添加了一些新属性,这些属性与旧架构产生冲突并在打印之前崩溃了应用程序。

如果您对崩溃日志感兴趣。但它与主要问题无关,对吧?

  

致命错误:'尝试!'表达式意外地引发了错误:错误Domain = io.realm Code = 10"由于以下原因,需要迁移   错误:        - 财产' id'已被添加到最新的对象模型。" UserInfo = {NSLocalizedDescription =由于需要迁移   以下错误:        - 财产' id'已被添加到最新的对象模型。,错误代码= 10}:文件   /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.8/src/swift/stdlib/public/core/ErrorType.swift,   第54行

我还有一个疑问。我已经添加了这个,在初始化旧对象之前,领域必须realm吗?但它刚刚与上面给出的日志相撞。

deleteAll

所以现在我要删除import Cocoa import RealmSwift import Realm //MARK: Global Variables public let realm = try! Realm() func applicationDidFinishLaunching(aNotification: NSNotification) { realm.deleteAll() print("Realm Path : \(realm.configuration.fileURL?.absoluteURL)") } 文件,但我不知道在哪里找到它。我使用扩展程序realm在Mac中搜索,但无法找到预期的文件。我有.realm应用,我认为它会将我重定向到文件位置,但它没有,它只是打开Realm browser文件夹,没有域文件。

你会怎么做?谢谢它提前。

3 个答案:

答案 0 :(得分:4)

创建新文件时Realm确实会发生变化。

只需将以下行添加到ViewDidLoad方法中:

print(Realm.Configuration.defaultConfiguration.fileURL!)

此行将打印位置到XCode控制台。复制文件路径,转到Finder - >去 - > Go go Folder ... - >粘贴路径并点击Go。

答案 1 :(得分:1)

我找到了自己问题的答案,幸福:)它将在这个目录中。

Users/UserName/Library/Application Support/appBundleIdentifer/default.realm)

基本上,用户名代表您计算机的主要用户名,而捆绑包标识符代表您项目中的类似内容com.yourCompany.yourApp

答案 2 :(得分:0)

万一有人在寻找它,我在上面的任何位置都找不到该文件。

我使用的是 macOS 11.1,default.realm 文件实际上位于 ~/Library/Containers/{app.bundle.identifier}/Data/Library/Application Support