【问题标题】:Core Data entities missing when tested on device在设备上测试时缺少核心数据实体
【发布时间】:2017-07-02 18:26:57
【问题描述】:

我正在尝试使用 Xcode/swift 制作一个简单的应用程序。使用模拟器时,我可以在核心数据中保存和检索数据,但是当我使用实际的 iPhone 设备测试应用程序时,我现有的数据丢失了。我不知道这是为什么,以及该怎么做。我是 iOS 开发新手,提前致谢。

【问题讨论】:

  • 我是否理解正确,您问的是为什么设备上缺少模拟器数据库中的记录?
  • 是的,在我在 iphone 上测试之前,我可以使用它并正常访问它。

标签: ios iphone swift core-data xcode8


【解决方案1】:

这是预期行为,因为您需要将数据存储在 mac 上的模拟器内存​​中,您应该将该数据库文件从模拟器复制到应用程序主包中的支持文件,然后复制到真实设备中应用程序的 Documents 目录. 所以步骤:

  1. 找到模拟器文件: Sqlite File Location Core Data
  2. 将此文件复制到项目的支持文件中
  3. 将该文件复制到文档目录:iOS ship application with pre populated sqlite database

【讨论】:

  • 我的库没有 Developer 文件夹,我的 Application Support 文件夹不包含 iPhone Simulator 文件夹
  • 你应该去另一个库文件夹,它默认隐藏redmondpie.com/…
  • 我找到了这个:/Library/Developer/CoreSimulator/Devices/8E4B7EBF-7D29-4323-AFCB-F0B20D2A11A7/data/Containers/Data/Application/A4AC0A11-3F98-4A90-A865- 90BDE01816AA/Documents 但 Documents 文件夹为空。抱歉,我对此真的很陌生。
  • 或者,当您将数据存储附加到持久存储协调器时,您可以在调试中看到它的位置,并且还可以在查找器中显示隐藏的罚款(谷歌搜索)
  • 我终于在应用程序支持文件夹中找到了它。非常感谢弗拉德。 :)
猜你喜欢
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 2014-08-17
  • 2013-12-03
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多