최근에 iOS 프로젝트를 ARC로 변환했습니다. 내 프로젝트에는 두 개의 타겟이 있습니다. 하나는 응용 프로그램 자체이고 다른 하나는 GHUnit 테스트 세트입니다. Core Data 객체를 만들고 수정하는 데 많은 작업을 수행하는 약 200 개의 테스트가 있습니다. 테스트에서 사용하는 핵심 데이터 저장소는 메모리 저장소에 있으며 테스트가 끝나면 버려집니다 (즉, 어디에도 유지되지 않음).GHUnit이 iOS 프로젝트에서 ARC로 변환 한 후 allocate_pages() 오류를 발생했습니다.
내 테스트가 실행 중일 때 (오류가 발생하기 전에 정확히 같은 지점에 도달하지는 않지만 항상 같은 테스트 주위에 있습니다) 응용 프로그램이 EXC_BAD_ACCESS (코드 = 2, 주소 = ..)로 충돌합니다. .)
다음 콘솔에 출력 될 때 :
나는 지시 here in this answer을 따라하고 -fno-objc-arc
컴파일러 플래그를 사용하는 GHUnit 대상의 내 main.m 파일을 설정하지만 아무튼했습니다 도움이 된 것 같지 않습니다.
나는이 오류의 의미를 실제로 이해하지 못하고 그들을 검색하는 것이 도움이되지 않는 것 같습니다. 내 유일한 추측은 내가 추리하고 있지만, 왜 또는 어떻게, ARC가 나를 위해 물체를 공개해야한다고 생각하는지 모르겠다.
누구든지이 문제를 해결할 수있는 도움을 주시면 감사하겠습니다. 궁금한 점이 있으면 저에게 의견을 남겨주세요.
감사합니다. 당신은 메모리 소모 문제가있는 것처럼
먼저
감사 결과를 다시보고, 그리고하십시오 - 메모리 데이터베이스가 너무 커지고 있습니다. 메모리 내 데이터베이스를 유지했지만 이제 tearDownClass 메서드에서 managedObjectContext를 nil로 설정했습니다. –