2012-05-09 3 views

답변

50

프로젝트를 선택한 다음 빌드 설정을 선택하십시오. Objective-C 자동 참조 계산Apple LLVM 컴파일러 - 언어 섹션을 참조하십시오. 대상을 선택했는지 확인하십시오. 프로젝트에서이 값을 설정할 수 있지만 대상이이를 무시할 수 있습니다.

(또한 OBJC_ARC에 대한 빌드 설정에서 검색 창을 사용할 수 있습니다.)

당신이 빌드 단계에서 파일별로 또는 해제 ARC 바꿀 수 있다는 사실을 기억하는 편이 좋겠다.

또는 단지 코드에서이 같은 시도 :

[[[NSObject alloc] init] autorelease] 

를 오류가 나타나면 :

ARC forbids explicit message send of 'autorelease' 

그런 다음 사용중인 ARC를.

당신은 또한 확인하여 소스 코드 파일에서 ARC를 필요로 할 수 있습니다

#if !__has_feature(objc_arc) 
#error This file must be built with ARC. 
// You can turn on ARC for only this file by adding -fobjc-arc to the build phase. 
#endif 
+0

ARC하지만 여전히 코드에 릴리스가 나타나면 오류가 발생하지 않습니다. ARC를 건너 뛰는 플래그가 없습니다. 왜 그런가? –

+0

내 생각 엔 ARC가 실제로 어떤 이유로 사용되지 않는다고 생각합니다. 여기에 설명 된 #if를 사용하지만 내부에 #error를 넣으십시오. http://stackoverflow.com/questions/7708267/check-for-arc-in-precompile –

+0

의견을 보내 주셔서 감사합니다. 문제가 정확히 어디에서 왔는지는 알 수 없지만 일부 cocoapods 버그와 관련이있는 것으로 보입니다. 코코아포드를 업그레이드하고 포드 (그리고 .xcworkspace 파일)를 재구성하면 내 문제가 해결됩니다. –

20

그냥 대상의 빌드 설정에서 자동 검색 : 내 프로젝트가 사용하는

enter image description here

관련 문제