XCode 3.2.4 iOS 4.1(最终)和CoreData在模拟器中崩溃

时间:2010-09-10 19:43:48

标签: xcode core-data ios-simulator

我有两个使用Core Data和sqlite持久存储的应用程序。我有一个数据加载器例程,我运行以从csv文件填充CoreData DB。在开发期间,当我的数据发生变化时,我从模拟器运行例程来生成新数据库并将新数据库复制到项目中。

这对XCode 3.2.3和iOS 4.0来说非常有效。它甚至可以在XCode 4 Preview 2和3中运行。我刚刚安装了XCode 3.2.4和iOS 4.1的最终版本。现在我的db loader失败了。它没有给我任何消息,没有警告,没有任何消息。它只是转出弹簧板,XCode给我“Debugging Terminated”消息。它会在加载过程中的不同时间失败,所以我很确定它不是数据问题。我没有做任何线程。我认为这个问题与Core Data或sqlite有关,因为那是发生崩溃的时候,但是没有报告信息我无法确定。

我卸载了所有东西。 Xcode 3.2.4,Xcode 4预览(假设这是由XCode 4引起的问题)并重新安装XCode 3.2.3 / iOS 4.0。事情恢复正常。完成一些工作后,我尝试再次升级到3.2.4 / iOS 4.1。我卸载了3.2.3 / iOS 4.0,重启了。安装3.2.4 / iOS 4.1,重新启动并再次尝试。没运气。同样的硬碰撞。同样缺乏对原因的消息传递。

我已经确定这只发生在带有XCode 3.2.4的模拟器上,设备很好,就像XCode 4和3.2.3一样。我试过玩目标操作系统选择(3.0,3.1,4.0,4.1)。我已经厌倦了从GCC 4.0,GCC 4.2,LLVM GCC 4.2,LLVM 1.5调整编译器。我已经尝试将Base SDK设置为iOS Simulator 4.1。有趣的是,当使用3.2 SDK时,它可以在iPad模拟器中运行。所以我至少把它作为一种解决方法。

我猜有三个问题之一:

  1. 我的代码问题已被3.2.4。

  2. 发现
  3. 3.2.4中的错误。

  4. 我错过了一个配置问题。

  5. 如果有人有任何疑难解答的想法或答案,我很乐意听到。自从V 2.1以来我一直在做iOS全职工作,我感到非常难过。

    提前致谢,

2 个答案:

答案 0 :(得分:0)

当我升级时,我在保存managedObjectContext时遇到了模拟器中的麻烦。我最后删除了我的sqlite CoreData存储文件,并没有遇到类似的问题。尝试删除您的数据文件(在删除之前保存一份副本以查看不同之处)。

答案 1 :(得分:0)

我想出了我的问题。看起来CoreData / Sqlite连接是一个完全红色的鲱鱼。根据我在SO上阅读的提示,我使用了OSX的控制台应用程序,并收到了一条关键信息“无法及时启动”,但未在XCode的调试器控制台中显示。

看起来该进程因为本质上是超时错误而被杀死。 iPhone会杀死一个需要很长时间才能完成“didFinishLaunching”的应用程序。这就是我从数据加载程序中解脱出来的地方。新版本的XCode必须调整它的超时值。

所以,如果XCode没有告诉你所有的事情并注意那些红色的鲱鱼,我的内容就是给OSX的控制台一个机会。