【问题标题】:Where is CoreData located?CoreData 位于哪里?
【发布时间】:2021-01-01 20:30:39
【问题描述】:

我正在编写一个应用程序,它使用 CoreData 使用 NSPersistentContainer 来保存数据。

在开发应用程序时,我想:

  • 直接检查数据
  • 备份数据
  • 看看我更改捆绑包 ID 时会发生什么

我假设数据物理存储在某个地方,但我不确定在哪里查找。

【问题讨论】:

标签: xcode macos core-data


【解决方案1】:

默认NSPersistentContainer将数据库存储在应用容器内Libray/Application Support目录下

要定位完整路径,在模拟器中,可以使用默认FileManager的urls(for:in:)函数打印applicationSupportDirectory:

print(FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first?.path ?? "nil")

如果您在实际设备上运行您的应用程序,您可以按照this 的回答下载应用程序容器。

对于沙盒应用,位置如下所示:

~/Library/Containers/…/Data/Library/Application Support/…

【讨论】:

  • 如果应用程序是沙盒的,有什么区别吗?我在那个位置找不到文件。
  • 您是在模拟器还是在设备上运行应用程序?
  • 在设备本身上。
  • @Manngo 您可以按照this 答案中的步骤从设备下载应用程序容器。
  • 好的,我在~/Library/Containers/…/Data/Library/Application Support/… 找到了它。如果您想为沙盒应用程序添加它,我很乐意接受您的回答。谢谢。
猜你喜欢
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
相关资源
最近更新 更多