Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XCode 3.2.4 iOS 4.1(最终版)和CoreData在模拟器中崩溃_Xcode_Core Data_Ios Simulator - Fatal编程技术网

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

XCode 3.2.4 iOS 4.1(最终版)和CoreData在模拟器中崩溃,xcode,core-data,ios-simulator,Xcode,Core Data,Ios Simulator,我有两个应用程序使用核心数据和sqlite持久存储。我有一个数据加载器例程,运行该例程可以从csv文件填充CoreData DB。在开发过程中,当我的数据发生变化时,我从模拟器运行例程来生成新数据库,并将新数据库复制到项目中 这在XCode 3.2.3和iOS 4.0中运行得非常好。它甚至可以在XCode 4预览版2和3中使用。我刚刚安装了XCode 3.2.4和iOS 4.1的最终版本。现在我的数据库加载器失败了。它没有给我任何信息,没有警告,什么都没有。它只是转储到spring board,

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

这在XCode 3.2.3和iOS 4.0中运行得非常好。它甚至可以在XCode 4预览版2和3中使用。我刚刚安装了XCode 3.2.4和iOS 4.1的最终版本。现在我的数据库加载器失败了。它没有给我任何信息,没有警告,什么都没有。它只是转储到spring board,XCode给了我调试终止的消息。它将在加载过程中的不同时间失败,因此我非常确定这不是数据问题。我不穿衣服。我假设这个问题与核心数据或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。我已经厌倦了从GCC4.0、GCC4.2、LLVMGCC4.2和LLVM1.5中调整编译器。我已经尝试将基本SDK设置为iOS Simulator 4.1。有趣的是,当使用3.2 SDK时,它将在iPad模拟器中工作。所以我至少把它当作一种工作

我想有三个问题之一:

3.2.4中发现的代码问题

3.2.4中的错误

我错过了一个配置问题

如果有人有任何疑难解答的想法或答案,我很乐意听听。从2.1版开始,我就一直在做iOS的全职工作,我被难倒了


提前感谢,

当我升级时,在保存managedObjectContext时,我在模拟器中遇到了问题。我最终删除了我的sqlite CoreData存储文件,并且没有遇到类似的问题。尝试删除您的数据文件。删除前请保存一份副本,看看有什么不同。

我解决了我的问题。看起来CoreData/Sqlite连接完全是在转移注意力。根据我读到的一个技巧,我使用了OSX的控制台应用程序,得到了一条关键消息:未能及时启动,而XCode的调试器控制台中没有显示该消息

进程似乎是由于超时错误而被终止的。iPhone将杀死一个需要很长时间才能完成didFinishLaunching的应用程序。这就是我启动数据加载例程的地方。新版本的XCode必须已调整其超时值


因此,我的建议是,如果XCode没有告诉您所有的事情,请尝试一下OSX的控制台,并当心那些花言巧语。

在解决核心数据问题时,这是一个很好的提示。这是我在处理核心数据异常时首先尝试的事情之一。