迁移核心数据存储时出现随机崩溃

问题描述:

我试图在Mac OS X Leopard应用程序中迁移核心数据SQLite存储。迁移本身很简单,模型版本之间只有一些变化,并且有一个自定义的NSEntityMigrationPolicy可以进行一些字符串操作。迁移核心数据存储时出现随机崩溃

99%的时间,这完美的作品。然而,偶尔它会在 objc_assign_strongCast下下崩溃。

在这一点上,我的自定义迁移策略尚未被调用,所以我不认为这是造成它。我也三倍检查了我的映射模型文件,并且一切似乎都很好。

踢球者是,如果我只是试图迁移同一个文件再次,它通常工作正常。我不知道从哪里开始调试,所以任何指针都会受到欢迎!

在与DTS交谈之后,事实证明这个 Mac OS X 10.6上的Core Data中的一个错误。

解决方法:确保您没有将nil错误传递给migrateStoreFromURL: type: options: withMappingModel: toDestinationURL: destinationType: destinationOptions: error:。这应该是允许的,但在这种情况下它会导致崩溃。

两件事情:

  1. 使用苹果提供的工具(即仪器)来跟踪内存管理的问题。它可能仍然在你自己的代码中。
  2. 尝试将这一数字减少到一个简单的,可重复的情况,并提交错误报告与苹果。*

我发现了很多的弹出周围已经给了我严重的暂停“自动”迁移问题。让他们解决问题的唯一方法是确保Apple知道他们中的每一个人。