我正在使用Apple App Store中的现有应用程序并希望从头开始,但不希望现有用户丢失存储在核心数据模型中的数据。
我使用核心数据开始了一个新项目。将核心数据模型从旧项目复制到新项目中。删除了新项目创建的样板核心数据模型。从旧项目复制托管对象类。在AppDelegate中进行必要的更改以匹配我复制的核心数据模型。当我第一次在模拟器中运行时它启动正常。然后我将我的iPad中的实时数据复制到模拟器文档目录中并尝试再次运行。那是我收到错误“[NSKeyedUnarchiver initForReadingWithData:]:难以理解的档案”我不知道我做错了什么或者我错过了这一步。
谢谢,
罗布
答案 0 :(得分:0)
听起来像是在咬你。复制时,请确保在文档目录中删除最多三个与sqlite文件具有相同文件名的文件(一个将是您的sqlite文件)。然后复制新的。
WAL有第二次启动时会尝试使用的日志文件,它们与您复制的商店不兼容。
如果您在NSFetchedResultsController
调用时收到错误并且您在创建Core Data堆栈时有正确的错误记录,那么这不是SQLite文件本身的问题,但是内部数据有问题它
您是否有任何二元对象或可转换对象?