【问题标题】:How to completely reset CoreData for an Xcode project?如何完全重置 Xcode 项目的 CoreData?
【发布时间】:2018-07-19 18:15:26
【问题描述】:

我的 macOS 应用程序现在一团糟。我对我的 Core Data 模型进行了一些重大更改,现在,仅启动应用程序就会导致应用程序和 Xcode 崩溃。该应用的崩溃日志显示了以下崩溃原因:

Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model."

我不想创建映射模型。我不关心旧的 CoreData 模型。我希望所有这些数据都消失。我尝试了以下方法:

  1. 删除派生数据。
  2. 正在删除~/Library/Application Support/APP_NAME/ 文件夹。
  3. 使用NSBatchDeleteRequest 删除所有实体。

我想重新开始(不创建一个全新的项目)。我需要做什么才能使用新的 Core Data 数据集重新开始?

【问题讨论】:

  • 你的应用上线了吗?
  • @Dev_Tandel no.
  • 然后您可以随时从您的设备中删除应用程序并重新开始
  • 如果我正在制作一个 macOS 应用程序,那么删除派生数据不是已经这样做了吗?那是存储可执行文件的地方吗?
  • 如果您对代码数据进行了更改,那么您必须执行 DBMigration 以防应用处于活动状态,否则您可以从设备/模拟器中删除应用并重新开始。

标签: swift xcode macos cocoa core-data


【解决方案1】:

在 Finder 中搜索 yourAppName.sqlite。我在

中找到了一个
~/Library/Containers/yourcompany.yourAppName/Data/Library/Application Support/yourAppName/

【讨论】:

    【解决方案2】:

    好吧,就像@Willeke 说的那样,它似乎就像找到 sqlite 文件并删除它一样简单。这可以让您完全清除/重置,而无需重新构建应用程序。但是,如果您只想稍微调整结构而不丢失累积的数据,这仍然很痛苦。所以对于这种情况,可能先开发一个导出功能,转储数据,删除sqlite文件,然后重新导入数据。

    【讨论】:

    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
    • 我不知道为什么。我收到了完全相同的错误消息,并且正在寻找这个答案。我刚刚确认删除它会完全重置核心数据模型。它确实完全解决了我的问题。我对实体进行了重大更改,并且由于与 OP 完全相同的原因而崩溃,并且想要重置,就像 OP 一样。 @Willeke 确定了要删除的正确内容。我刚刚确认了。如果需要,我确实添加了关于保留原始数据的额外内容,但这只是一个可选的额外内容。也许我应该跳过评论的那部分?我很困惑。
    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 2016-01-26
    • 2016-05-24
    • 1970-01-01
    • 2021-08-07
    • 2011-10-04
    • 1970-01-01
    • 2017-01-20
    相关资源
    最近更新 更多