我最近将我的iOS项目转换为ARC。我的项目中有两个目标。一个是应用程序本身,另一个是一组GHUnit测试。我有大约200个测试,在创建和修改Core Data对象方面做了很多工作。测试使用的Core Data存储区是内存存储区,并且在测试完成后即被丢弃(即不会在任何地方持久存储)。当我的测试运行了一段时间(在错误被抛出之前,他们从未达到完全相同的点,但它总是在相同的测试周围),应用程序崩溃时出现EXC_BAD_ACCESS(代码= 2,地址= .. 。)GHUnit在iOS项目转换为ARC后给出allocate_pages()错误
在控制台输出如下:
我已经按照说明操作here in this answer,并设置GHUnit目标使用-fno-objc-arc
编译器标志我的main.m文件,但没有按似乎没有帮助。
我真的不明白这些错误是什么意思,而搜索它们似乎没有帮助。我唯一的猜测就是我内存不足,但我不确定为什么或者如何,考虑ARC应该为我释放对象。
我真的很感谢任何人都可以帮我解决这个问题!如果您有任何问题,请留下评论,我会尽快回复您!
谢谢!
谢谢!你说得对,运行内存不足。我用仪器来调查原因,并在-memory数据库变得太大了,我保留了内存数据库,但现在在tearDownClass方法中设置了managedObjectContext为null。 –