내 Xcode iPhone 프로젝트가 ARC를 사용하는지 알고 싶습니다. 프로젝트를 만들 때 해당 상자를 체크했는지 기억이 안납니다.내 Xcode iPhone 프로젝트에서 ARC를 사용하고 있는지 확인하는 방법은 무엇입니까?
어떻게 정보를 얻을 수 있습니까?
내 Xcode iPhone 프로젝트가 ARC를 사용하는지 알고 싶습니다. 프로젝트를 만들 때 해당 상자를 체크했는지 기억이 안납니다.내 Xcode iPhone 프로젝트에서 ARC를 사용하고 있는지 확인하는 방법은 무엇입니까?
어떻게 정보를 얻을 수 있습니까?
프로젝트를 선택한 다음 빌드 설정을 선택하십시오. 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
그냥 대상의 빌드 설정에서 자동 검색 : 내 프로젝트가 사용하는
ARC하지만 여전히 코드에 릴리스가 나타나면 오류가 발생하지 않습니다. ARC를 건너 뛰는 플래그가 없습니다. 왜 그런가? –
내 생각 엔 ARC가 실제로 어떤 이유로 사용되지 않는다고 생각합니다. 여기에 설명 된 #if를 사용하지만 내부에 #error를 넣으십시오. http://stackoverflow.com/questions/7708267/check-for-arc-in-precompile –
의견을 보내 주셔서 감사합니다. 문제가 정확히 어디에서 왔는지는 알 수 없지만 일부 cocoapods 버그와 관련이있는 것으로 보입니다. 코코아포드를 업그레이드하고 포드 (그리고 .xcworkspace 파일)를 재구성하면 내 문제가 해결됩니다. –