본문 바로가기
Tool&Util/Xcode

ARC 프로젝트에서 기존 코드(라이브러리) 사용하기

by 백룡화검 2012. 7. 22.

출처 : http://cafe.naver.com/mcbugi/222927


iOS5.0 에서 새로 추가된 ARC를 사용하면 굉장히 마음편하게 개발을 할 수 있습니다.

(메모리 누수에서 해방되니까요... 일단은..)

하지만 기존에 쓰던 코드들을 복사해서 넣거나 유명한 라이브러리들을 사용할 때 해당 코드들에있는 

retain, release 등의 메모리에 관련된 메소드 같은 것들이 에러를 뿜어내어 이것저것 코드를 직접 수정해주어야 하는 번거로움이 있었습니다.


헌데 찾아보니 기존소스들을 변환없이 ARC프로젝트에 포함시키기 위해 ARC를 일부 파일에만 제외시키는 방법이 있었습니다. 

매우 간단하니 아래 스샷을 보고 한번만 따라해보시면 됩니다.





1. 신규 프로젝트를 만들었습니다. 프로젝트 이름이 ARCTest 이군요



2. Json, XML 파싱할때 제가 주로쓰는 ASI 라이브러리입니다. 프로젝트에 추가한 후에 빌드를 해보면


아래와 같이 에러를 잔뜩 뿜어냅니다... 망했....지않죠 컴파일시에 ARC를 적용하지않고 컴파일하도록 지정해줍시다.


프로젝트 내비게이터에서 프로젝트 선택 -> 타겟선택 -> Build Pases선택 -> Compile Sourses 열기


하면 아래와같이 현제 프로젝트에 포함되어있는 클래스(.m) 파일들이 나타납니다.



여기서 ARC에서 제외시키고싶은 파일들을 선택해서 

엔터 -> 

-fno-objc-arc    입력

엔터 



요렇게 하시면 아래와 같이 Compiler Flags 에 입력한 문자열이 포함되어있는걸 보실 수 있습니다.


자 이제 빌드를 하시면됩니다.