从NSManagedObjectContext内部 - 保存:我收到此消息:
断言失败:(_ Unwind_SjLj_Resume()无法返回),函数_Unwind_SjLj_Resume,文件/SourceCache/libunwind/libunwind-24.1/src/Unwind-sjlj.c,第326行.
程序收到信号:"SIGABRT".
警告:无法读取/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib(未找到文件)的符号.
当我使用Run删除带有to-many的Experiment对象时,会发生这种情况,其中包含Sample,其中包含与Data一起使用的Sample.实验也有许多与页面有很多与显示,其中有许多运行.我提到这一点是为了指出图的周期性.这是一个简化的模型图:

实验用户与之交互的顶级实体.实验包含多个Run对象.运行是从特定时间开始并在稍后结束的数据集合.由于可以同时从多个源收集数据,因此每个Run的每个源都有一个Sample.实验包含数据,需要查看和交互此数据.因此,每个实验都有一些页面对象,每个页面包含一些显示(例如,图形,米).显示器配置为显示属于实验的运行的某个子集.因此,虽然实验可能包含数十个运行,但其中一个页面一次只会显示一些运行.Display实体维护此列表.显示不是视图.视图将引用Display对象并通知Display对象的更改.
我一直在使用删除规则,但现在已经切换到"无操作"删除规则以及所有这些类的-prepareForDeletion方法.这种变化没有任何区别.在这两种情况下,错误消息都是相同的.
有趣的是,当我重新启动应用程序时,所有标记为删除的对象都已被删除.
此外,如果实验没有运行对象,则删除工作没有发生.就此而言,从实验中删除单个Run也可以.
我希望有人见过这样的东西,可以提供有关导致这种情况的建议.或者,如果某人有关于如何获取iOS 4.2.1的libXcodeDebuggerSupport.dylib的建议,那么这可能也会有所帮助.
更新:我按照这里的建议,并能够让Xcode找到适用于iOS 4.2.1的libXcodeDebuggerSupport.dylib.但这对诊断问题毫无帮助 - 这种问题依然存在.
更新2:在阅读了一下并下载unwind-sjlj.c的版本之后,似乎我正在处理类似未捕获的异常.我不确定这对我有什么帮助......
更新3:感谢堪察加,我做了几天前我应该做的事情:打开"停止Objective-C Exceptions".这让我看到仍然保留了对已删除对象的引用 - 更糟糕的是,键值观察了已删除的对象.解决了这个固定的问题,我能够恢复使用删除规则而不是-prepareForDeletion方法.
我在iPod touch(版本4.2.1)上运行我的应用程序时出现以下错误.我的应用程序在一点之后崩溃:
Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).
我的XCODE版本是3.2.6,IOS 4.3,我的部署目标版本是4.2.
有什么理由发生这种情况?
我看到了这个错误
无法读取/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.2(8H7)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib(未找到文件)的符号.
我试过这个解决方案,但它没有用.有人可以帮我解决这个问题.