Hy,
直到现在,我创建了使用CoreData的iOS应用程序;使用CoreData";XCode中的复选框,一切都很好。最近,我决定深入研究多个目标,并为我的CoreData数据库使用一个共享容器。我阅读了多个教程,解释了创建和使用AppGroups的过程。
虽然我完全理解如何将现有数据库迁移到共享容器中,但我无法从头开始创建新应用程序的过程——将CoreData与AppGroups结合使用。
- 我总是必须先迁移我的CoreData模型吗
- 有没有一种方法可以从一开始就在共享容器中创建CoreData模型
- 这是自动发生的吗
我目前的理解如下:
- 创建一个新的XCode项目并选择";使用CoreData">
- 使用应用程序主要目标中的
xcdatamodeld
文件设计模型 - 修改
AppDelegate
以指向共享容器 - 修改
AppDelegate
以在第一次应用程序启动时执行数据库迁移
为4。一旦我执行了3。在应用程序首次发布之前?我知道4。如果我决定在没有AppGroup的情况下发布1.0版本的应用程序,并使用AppGroups(以及共享容器(发布后续版本,则这是必要的。
会那么容易吗?我是不是错过了什么?
谢谢!
您并不总是需要迁移数据来使用应用程序组。这是一种常见的需求,因为许多应用程序在发布后需要切换到使用应用程序组,这使得迁移成为必要。但这只是因为该应用程序已经有不在应用程序组中的数据。他们需要移动现有数据。
如果该应用程序从未启动过,您可以执行步骤1-3,然后完成。持久存储将从一开始就进入应用程序组。它不需要迁移到应用程序组中,因为它已经在那里了。即使执行了步骤4,也不会有任何效果。
正如您所注意到的,Xcode的项目模板不包括应用程序组,但您似乎知道如何解决这个问题。