我正在创建一个新版本的应用程序。我不希望保留任何现有的核心数据数据或模型,所以我认为最简单的方法是侧面执行现有数据并创建一个新的,不同的名称存储。我将文件MyApp.xcdatamodeld
的名称更改为MyAppV2.xcdatamodeld
和行
let container = NSPersistentContainer(name: "MyApp")
到
let container = NSPersistentContainer(name: "MyAppV2")
现在,当我跑步时,我收到以下错误:Failed to load NSManagedObjectModel with URL 'file:///var/containers/Bundle/Application/.../MyApp.app/MyAppV2.momd/'
我正在使用iOS 10。
我是以错误的方式解决这个问题还是还有其他需要改变的事情?
非常感谢。
答案 0 :(得分:-1)
最简单的方法是不重命名任何东西。只需将模型更改为您想要的模型,任何现有数据库都将不兼容,因此在用户第一次运行新版本的应用程序时应该感到震惊。
如果您想要重命名,那么最好的办法是完全从您的应用中删除旧商店,然后添加一个新名称的新商店。 MyApp.xcdatamodeld
实际上不是一个文件,而是一个包含几个嵌套文件夹和文件的包,所以它不会轻易重命名。