2011-12-07 3 views
0

최근 ARC (Automatic Reference Counting)를 사용하도록 프로젝트를 변환했습니다.Xcode의 무음 오류

실제로 개체를 릴리스해야 할 때를 알기가 매우 힘듭니다. 할당 작업이 많기 때문에 기존 개체가 할당 취소되지 않기 때문에 응용 프로그램이 지나치게 높게 사용됩니다 그들이 전망에서 닫힐 때.

내가 할 수있는 일은 그 파일에 대해 ARC를 사용 중지해야하며 모든 작업이 정상적으로 수행되어야합니다. 나는 그것을했고, 발표문을 추가했으며, 완벽하게 작동했습니다. 오류를 제외하고.

프로젝트가 빌드되지 않을 때마다 (즉 빌드가 진행되는 동안 오류가 사라지고 빌드가 성공할 때) ARC가 객체에 릴리스 메시지를 보내는 것을 금지한다는 오류가 표시됩니다. 프로젝트 설정의 해당 파일에 대한 예외입니다.

내가 정말로해야 할 일은 오류가 없으므로 (정상적으로 빌드됨에 따라) 오류를 조용히하는 것입니다.

도움을 주시면 감사하겠습니다.

+0

오류입니까, 아니면 경고입니까? 경고/오류의 정확한 텍스트가 있으면 사람들에게 무엇을 설정해야 할지를 알리는 데 도움이됩니다. –

+0

파일이 단위 테스트 대상과 같은 다른 대상에 포함되어 있습니까? '-fno-objc-arc' 컴파일러 플래그를 포함하는 각 타겟에서 그 파일에 컴파일러 플래그를 추가해야합니다. –

답변

0

몇 가지 빌드 및 정리 후에 오류가 기적적으로 사라졌습니다.

이러한 문제는 Xcode 4에서 빈번하게 발생했습니다. 사용되지 않은 변수 경고가 명확하게 사용되었습니다.

+1

그래,이게 Xcode 4.2에서 문제가되는 것 같고 4.2.1도 가능하다. 그러나 ARC로 돌아가서, 당신은 그것이 "잘 알고있는 일"을하지 않는다고 말합니다. ARC 하에서 메모리 사용량이 많아지고 증가하는 경우, 유지해서는 안되는 참조를 보관하기 때문입니다. ARC를 끄는 것은 단기간의 반창고일지도 모르지만, 어떤 점에서는 코드에서 그 기본 버그를 수정하는 것을 고려해야합니다. 결국 ARC 또는 no-objc-arc를 다시 실행하게됩니다. –

관련 문제