2010-02-27 92 views
3

在我的iPhone应用程序中,我使用核心数据,并对我的数据模型进行了更改,无法自动迁移(即添加新关系)。我添加了数据模型版本(设计 - >数据模型 - >添加模型版本),并将新数据模型更改应用到新版本2.然后创建映射对象模型,并将源模型和目标模型设置为正确的数据模型(分别是旧的和新的)。核心数据迁移 - “无法添加源存储”错误

当运行应用程序并调用persistentStoreCoordinator,我的应用程序barfs具有以下:

2010-02-27 02:40:30.922 XXXX [73578:20B]未解决的错误错误域= NSCocoaErrorDomain代码= (可可错误134110.)“,{ NSUnderlyingError =错误域= NSCocoaErrorDomain代码= 134130 UserInfo = 0xfbb3a0”无法完成操作。 reason =“无法添加源存储”; }

FWIW(不要太多,我认为),我也取得了persistentStoreCoordinator通常的代码更改为使用NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption(可自动迁移为未来的数据模型的变化)。更相关的是,我的managedObjectModel是通过调用initWithContentsOfURL来创建的,其中文件/资源​​类型是“momd”。

我试着在映射模型(设计 - >映射模型 - >更新XXX模型)中更新源和目标模型以及删除映射模型并重新创建它。我已经清理并重新构建,但都无济于事。我仍然收到上述错误信息。

任何关于如何进一步调试或解决此问题的指针/想法?我没有发布任何代码片段,因为这更像是一个构建环境问题(我的代码非常标准 - 只是使用映射模型处理迁移的常见核心数据代码,但我很高兴地展示代码帮助)。

感谢任何帮助。

谢谢

回答

1

好的,现在已修复。 (一)删除,然后重新创建我的托管对象模型类,(二)删除,然后重新创建映射模型,然后最后我(三)删除用户下的iPhone项目/ XXX /库/应用程序的支持/ iPhone模拟器/用户/应用程序。因为我以前试过并且只是做了(a)和(b)的失败,我怀疑是(c)是哪个问题解决了问题。

+0

做(c)的一个副作用是我丢失了我的SQLite表中存在的所有数据。对我来说不是一个问题,因为我预先填充数据,并且备份这些数据 - 但要注意其他数据。 – Tofrizer 2010-02-27 17:00:15

+15

我的意思是......你基本上避免了做不能真正解决问题的迁移。 – awolf 2011-03-16 03:50:20

+1

删除iPhoneSimulator的文件夹也解决了我的问题。这很奇怪! – 2011-05-29 14:35:33