CoreData iPad 应用程序崩溃

Posted

技术标签:

【中文标题】CoreData iPad 应用程序崩溃【英文标题】:CoreData iPad application crash 【发布时间】:2010-11-27 16:00:30 【问题描述】:

我使用 CoreData 制作了一个新的拆分视图 iPad 应用程序。我所做的只是为实体添加了一个新属性,它是一个字符串。 (默认为时间戳、日期)。

这会导致应用程序在启动时崩溃,只需添加它。为什么会这样?

例如,我打算使用它来显示文本而不是其默认日期。例如。更改此行: [newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];使用日期以外的其他值。

【问题讨论】:

【参考方案1】:

这几乎可以肯定是因为您已经在设备上安装了应用程序,而现在您已经更改了 Core Data 模型,现有数据库的结构错误。您可以通过在崩溃后查看 XCode 控制台窗口来确认这一点:您应该看到一个异常堆栈跟踪,并且在此之上,一条消息类似于“用于打开商店的模型与用于创建的模型不兼容”店铺。”当 XCode 将您修改后的应用程序版本安装到设备上时,它不会自动覆盖现有数据库,这很痛苦,并且经常让我抓狂 ;-)

在对 Core Data 模型进行任何更改后,您必须从设备上卸载应用程序,以便它以干净版本的数据库开始。在 Shannon Appelcline 的 iPhone in Action 网站上有 more info about this aspect of Core Data。

【讨论】:

以上是关于CoreData iPad 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 6 Beta 在 iPad 7.1 上运行时使用核心数据使应用程序崩溃

NSEntityDescription 仅在 iPad Air 7.1 上返回 nil

Coredata iPhone 到带有 iCloud 的 iPad/Mac?

应用程序在 CoreData PathForResource 上崩溃

CoreData 模型更新崩溃

发送到 Core Data 的无法识别的选择器导致应用程序崩溃