iPhone核心数据应用程序崩溃

时间:2010-03-18 05:30:00

标签: iphone core-data crash

我可以在内部使用核心数据完成我的iphone应用程序。 但是,当我第一次在模拟器或设备上运行时,它崩溃并出现以下错误:

2010-03-18 10:55:41.785 CrData [1605:4603]未解决的错误错误Domain = NSCocoaErrorDomain Code = 513 UserInfo = 0x50448d0“操作无法完成。(Cocoa error 513。)”,{     NSUnderlyingException =验证商店的url时出错; }

当我在模拟器或设备上再次运行应用程序时,它运行得很好。我无法确定确切的问题。有人可以指导我如何进一步行动吗?

2 个答案:

答案 0 :(得分:3)

您需要展开错误并查看发生了什么。在该错误内部(您可以在objc_exception_thrown上设置断点来捕获它)是userInfo字典,您可以查询该字典以查看底层错误是什么。

更新

您的NSPersistentStoreCoordinator创建代码是什么样的?

您是否添加了一个断点并执行了po [error userInfo],以便查看userInfo中是否还有其他错误?

核心数据可以并确实向您发送错误层次结构,并且经常会在最大错误中显示少量信息。通过调试器展开错误最好确定根本原因。

更新

  

代码错误513表示在核心数据应用中创建商店的写权限失败。但是下一次相同的代码运行良好。那么,实际问题可能是我不知道的......如何在这里继续。

同样,您的持久性商店创建代码是什么样的?您需要发布一些代码,以便我可以查看它。否则我只是猜测哪个不好玩。

答案 1 :(得分:0)

8.2对持久性商店的位置(和权限)变得更加严格。我刚看到数据库存储在捆绑包中并与只读选项一起使用时出现“513”错误。使用8.1的设备它没有失败,但在8.2上出现错误和异常导致崩溃。在模拟器上没有发生异常,并且愉快地继续工作。

在启动时将数据库复制到应用程序文档目录的解决方案。

NSFileManager copyItemAtURL:toURL:错误有用。