2010-07-06 74 views
0

我有一个具有使应用崩溃的问题核心数据的应用程序,我还没有追查其病因尚未。崩溃的结果之一是,下次启动应用程序时,无法打开应用程序先前使用的持久存储区。从addPersistentStoreWithType:方法返回以下错误:崩溃无效的URL NSPersistentStoreCoordinator

NSUnderlyingException = Error validating url for store; 

,当然,它不能获取任何以前的应用程序存储对象。有谁知道什么可能导致应用程序不再能够找到其持久存储?

导致应用程序之前关闭所有这一切的发生的碰撞产生以下崩溃日志:

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libSystem.B.dylib    0x0007e98c __kill + 8 
1 libSystem.B.dylib    0x0007e97c kill + 4 
2 libSystem.B.dylib    0x0007e96e raise + 10 
3 libSystem.B.dylib    0x0009361a abort + 34 
4 libstdc++.6.dylib    0x000453b0 __gnu_cxx::__verbose_terminate_handler() + 376 
5 libobjc.A.dylib    0x00005858 _objc_terminate + 104 
6 libstdc++.6.dylib    0x00043776 __cxxabiv1::__terminate(void (*)()) + 46 
7 libstdc++.6.dylib    0x000437ca std::terminate() + 10 
8 libstdc++.6.dylib    0x00043896 __cxa_throw + 74 
9 libobjc.A.dylib    0x00004714 objc_exception_throw + 64 
10 Foundation      0x000013c2 __NSThreadPerformPerform + 570 
11 CoreFoundation     0x00056a96 CFRunLoopRunSpecific + 1834 
12 CoreFoundation     0x00056356 CFRunLoopRunInMode + 42 
13 GraphicsServices    0x00003b2c GSEventRunModal + 108 
14 GraphicsServices    0x00003bd8 GSEventRun + 56 
15 UIKit       0x00002768 -[UIApplication _run] + 384 
16 UIKit       0x0000146c UIApplicationMain + 688 
17 Meetchu      0x00002568 main (main.m:14) 
18 Meetchu      0x0000251c start + 32 

我无法弄清楚什么是从这个信息发生。任何人都可以帮助解决这些错误吗?

非常感谢提前。

+0

有关错误的信息: 域= NSCocoaErrorDomain 代码= 258 “操作无法完成(可口可乐错误258)。” – 2010-07-06 19:08:44

回答

0

德鲁,

没有看到一些代码,我可以告诉你的痛苦,而我的一个来源,当我第一次开始与核心数据进行版本控制你的模型。如果您有任何改变你的管理对象模型,这将导致你的应用程序没有某种版本的地方(即轻量级)代码崩溃。

这可能不是你的问题的根源,但有一点你可以尝试是从您的iPhone模拟器您的应用或使用“重置内容和设置”从iPhone模拟器菜单。如果这可以解决问题,那么您正在查看迁移问题。

干杯。

+0

尼尔, 感谢您的想法,但是这一切与原来的版本发生的管理对象模型。 德鲁 – 2010-07-06 19:41:36

1

如果要存储的实际URL在应用程序的目录中的文件,而不是每个相对于应用程序目录的时间进行再生,则无效的网址是模拟器/设备的改变应用程序的目录名的结果到一个随机的UUID。它有时是为了应对崩溃而做的。

明显的第一步是日志的URL,看看卖场实际上是在那个位置。

+0

这是一个相对URL,我有它输出的路径。这个路径在应用程序工作时以及无效时都是相同的。 – 2010-07-07 04:51:57

+0

我认为该网址必须有效。 URL是否仅在应用程序的下一次启动时失败,即模式是否工作 - >崩溃 - >失败 - >工作?在发生崩溃之后,您是否必须做任何事情才能使其再次正常工作,或者在崩溃后第二次启动应用程序时它会发挥作用吗? – TechZen 2010-07-07 12:37:26