2014-01-15 56 views
0

我在我的应用程序更新期间犯了错误。我在实体中增加了一个领域,并没有为这个变化创建新的模型。所以,我的应用程序进行了更新在AppStore上,当然它崩溃,因为关闭iOS修复数据模型更新

<Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.' 

貌似这个新的实体提交的崩溃是100%肯定的原因。

现在我必须做出更新,有一个问题:

-model1:在应用V1无场 '三化' myEntity所

-model1:在应用V2 myEntity所用场 '三化'

现在如果我创建这个

-model2:在应用V3 myEntity所用场“三化”

将APP作为人谁没有从v更新程序1到v2会正常工作,然后他们将应用程序从v1更新到v3。

此数据库模型更新的工作原理与更新模型版本之后的数据库模型版本一致,或者当我在应用程序开发期间有5个数据库模型,并且有人使用应用程序v1与模型1更新到应用程序v5时,模型v5会忽略模型v2- 4?

回答

0

我不完全理解你的解释,但考虑到你从来没有创建过新的模型,所以那里的商店都没有升级,所以它们仍然是没有附加字段的早期版本。

因此,您的下一次更新需要原始模型1没有新字段,而另一个模型2需要新字段。

这似乎是什么将在您的应用程序v3。除非你没有提到应用v3将具有BOTH model1(不带字段)和model2(带有新字段)。确保应用程序包中包含Core Data模型的两个版本。它们都应该出现在主模型包中。

+0

因此,应用程序的第3版应该有模型1没有和新的领域与汽车旅馆2。它将适用于从v1和v2版本更新的应用程序? – Meryl

+0

是的,它应该工作,但你真的应该自己测试这两种情况来检查它的工作原理! –

+0

但我该如何测试这个,我的意思是更新?在这两种组合的模拟器或iPhone v1 v3 v3上运行?像这样的测试会显示应用程序的行为与实际场景中的应用程序更新通过appstore? – Meryl