首页 > 解决方案 > 无法在我的 macbook 上找到我的核心数据文件

问题描述

我正在使用 Xcode 12.4 运行我的应用程序,并且我正在使用 Core Data 来持久化我的数据。当我尝试获取数据并将其打印在列表中时,它会正确打印数据,但我无法在我的 mac 上找到实际的 DB 文件。

通常我会运行print("Documents Directory: ", FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last ?? "Not Found!"),这会引导我找到正确的文件,但是当我现在去目的地时,文档文件夹是空的。

有什么想法可以检索文件吗?

标签: core-dataswiftui

解决方案


我编写了以下内容以将核心数据数据库的位置复制到剪贴板。如果您正在为 IOS14 编码,那么您可以注释掉 appDelegate 行,并将 dbName 行替换为注释的行。

func printCoreDataPath(){
  let appDelegate = UIApplication.shared.delegate as! AppDelegate // remove if IOS14
  let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.applicationSupportDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
  let dbName = appDelegate.persistentContainer.name
 // let dbName = PersistenceController.shared.container.name
  let pasteboard = UIPasteboard.general
  pasteboard.string = (path[0] + "/\(dbName).sqlite")
 print (path[0] + "/\(dbName).sqlite")

}


推荐阅读