数据库迁移后保存核心数据时 Cocoa 报错 134030

Posted

技术标签:

【中文标题】数据库迁移后保存核心数据时 Cocoa 报错 134030【英文标题】:Cocoa error 134030 when saving core data after database migration 【发布时间】:2014-06-05 13:28:55 【问题描述】:

在我的应用程序的下一个版本中,我对核心数据模型进行了一些更改。我在模型的新版本上制作了它们。更改是简单的表和行添加。我将持久性存储配置为使用NSMigratePersistentStoresAutomaticallyOptionNSInferMappingModelAutomaticallyOption 自动更新表。这是我的核心数据模型的第 6 次更新,因此它在过去一直有效。当应用程序从以前版本的数据库更新时,我第一次尝试保存 NSManagedObjectContext 时收到以下错误。

2014-06-05 06:13:31.944 Topo Maps[4862:60b] Unresolved error The operation couldn’t be completed. (Cocoa error 134030.)

我查看了很多关于错误 134030 的帖子和 cmets,它们似乎都与无法删除对象或无法更新从未插入的对象有关。我很确定这些都没有发生在我的应用程序中。当应用程序第一次启动时,我在核心数据对象上设置了一个字符串值,然后保存托管上下文,这就是我收到此错误的时候。

过去,当我在升级持久性存储时遇到问题时,尝试使用托管对象模型初始化持久性存储时会出错。

任何帮助将不胜感激。

谢谢!!

【问题讨论】:

【参考方案1】:

好的,所以我发现出了什么问题。我觉得自己像个白痴。我没有打印出 NSError 中的所有数据。事实证明,这是因为更新了一个从未插入过的对象。我的应用程序为上次使用的对象保存了一个 URI,正是该 URI 导致了问题。所以这实际上不是数据库迁移问题。这是我的应用程序的新版本如何处理设置中的 URI 的问题。

【讨论】:

以上是关于数据库迁移后保存核心数据时 Cocoa 报错 134030的主要内容,如果未能解决你的问题,请参考以下文章

数据库迁移后报错提示MySQL Error:Can''t find file errno: 13 - Permission denied的解决方法

在非连续版本之间迁移时出现核心数据迁移错误

使用 Cocoa 和 Core Data 自动保存

迁移后更改核心数据时崩溃

以前的核心数据迁移失败

NSManagedObject 不保存