【问题标题】:Create new App using CoreData with AppGroups in mind使用核心数据创建新应用程序并考虑应用程序组
【发布时间】:2020-09-24 13:41:14
【问题描述】:

喂,

直到现在,我通过简单地选中 XCode 中的“使用 CoreData”复选框来创建使用 CoreData 的 iOS 应用程序,一切都很好。最近我决定深入研究多个目标并为我的 CoreData 数据库使用共享容器。我通读了多个教程,解释了创建和使用 AppGroups 的过程。

虽然我完全了​​解如何将现有数据库迁移到共享容器,但我无法完全理解使用 CoreData 和 AppGroups 从头开始​​创建新应用的过程。

  • 我总是必须先迁移我的 CoreData 模型吗?
  • 有没有办法从一开始就在共享容器中创建 CoreData 模型?
  • 这会自动发生吗?

我目前的理解如下:

  1. 新建一个 XCode 项目并选择“使用 CoreData”
  2. 使用应用程序主要目标中的 xcdatamodeld 文件设计模型
  3. 修改AppDelegate以指向共享容器
  4. 修改 AppDelegate 以在首次应用启动时执行数据库迁移

在第一次启动应用程序之前执行 3. 后 4. 是否多余?我知道如果我决定在没有 AppGroup 的情况下发布应用程序的 1.0 版以及使用 AppGroups(以及因此共享容器)的后续版本,则 4. 变得有必要。

就这么简单吗?我错过了什么吗?

谢谢!

【问题讨论】:

    标签: ios swift xcode core-data


    【解决方案1】:

    您并不总是需要迁移数据才能使用应用组。这是一个常见的需求,因为许多应用程序发布后需要切换到使用应用程序组,这使得迁移成为必要。但这只是因为该应用程序已经拥有不在应用程序组中的数据。他们需要移动现有数据。

    如果应用程序从未启动,您可以执行步骤 1-3 并完成。持久存储将从一开始就进入应用组。它不需要迁移到应用程序组,因为它已经存在。即使您实施了第 4 步,它也没有任何效果。

    您已经注意到,Xcode 的项目模板不涵盖应用组,但您似乎知道如何解决这个问题。

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      相关资源
      最近更新 更多