【问题标题】:iphone core data app crashiphone核心数据应用崩溃
【发布时间】:2011-01-28 21:21:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: iphone core-data crash


    【解决方案1】:

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

    更新

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

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

    Core Data 可以并且确实会向您发送错误的层次结构,并且经常会在顶部错误中暴露少量信息。通过调试器展开错误最好确定根本原因。

    更新

    代码错误 513 表示,在核心数据应用程序中创建商店的写入权限失败。但是同一段代码从下一次开始运行良好。因此,我不知道实际问题可能是什么.....如何在此处进行。

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

    【讨论】:

    • 代码错误 513 表示,在核心数据应用中创建商店的写入权限失败。但是同一段代码从下一次开始运行良好。所以,我不知道实际的问题是什么.....如何在这里进行。
    • 优秀。我在“捆绑”路径中插入数据库时​​遇到了同样的问题,所以我被告知将文件复制到“用户”库空间中。当我这样做时,我决定“移动”(即,为了节省内存)——但是,移动需要删除权限——呃!当我转储 [error UserInfo] 时,这对我来说变得更加明显。现在我的副本按预期工作了!
    【解决方案2】:

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

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

    NSFileManager copyItemAtURL:toURL:error 会派上用场。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多