将旧CoreData模型导入新项目

Ken*_*and 11 xcode core-data ios

我有一个旧的Xcode项目,其中包含一个CoreData模型(包含模型的版本1和版本2).由于几个原因,我需要创建一个新的Xcode项目并将所有代码传输到新项目.

如何导入/转移我的旧CoreData模型,使这个新的二进制文件仍然能够读取并可能迁移现有用户的iPhone和iPad上的现有CoreData存储?我担心如果我使用这个新项目推送新版本,我的用户会将他们的应用程序更新到最新版本,然后它会崩溃,因为模型或模型版本号不匹配.

我不是在谈论在同一个应用程序中为数据模型添加新版本.我明白这个过程.这是关于将现有数据模型从旧项目移动/导入/等到新项目.

我应该只是复制文件并手动将它们添加到我的项目中吗?我是否需要更改构建设置中的内容才能解决问题?

Ken*_*and 11

最后,这就是我解决它的方式:

  1. 使用CoreData创建新项目
  2. 将原始CoreData模型文件复制到我的新项目中.将其添加到项目中.
  3. 删除新项目自动处理的空CoreData模型.
  4. 在项目设置中,在Build Phases,Compile Sources下,我添加了复制的CoreData模型文件.

然后我使用了Scott提供的代码:

[NSManagedObjectModel mergedModelFromBundles:nil]
Run Code Online (Sandbox Code Playgroud)

它会自动查找所有模型并将它们组合在一起.通过删除自动生成的并添加我转移的那个,然后一切正常.