Unity3D iOS SBJson This source file must be compiled with ARC enabled

Libraries/NSObject+SBJson.m:31:2: "This source file must be compiled with ARC enabled!"

 iOS용 JSON lib인 SBJson을 프로젝트에 추가 후 빌드중 위와 같은 에러가 발생했습니다. ARC(Automatic Reference Counting)라고 애플에서 비교적 최근에 추가한 자동 레퍼런스 카운트 관련 기능이라고 하네요. 런타임에 해주는게 아니고 컴파일러가 컴파일딴에 자동으로 release 코드를 삽입시켜 준다고 합니다.

 자세한 내용은 위 링크를 참고하시고 SBJson은 빌드시 arc를 활성화 해줘야합니다. 유니티3D에서 자동 생성한 iOS xcode 프로젝트는 arc도 비활성화 되어있고 arc에 만족하는 소스 코드도 아니라서 Build Settings의 Objectivie-C Automatic Reference Counting 옵션을 Yes로 해서는 해결이 되지 않고 위 그림과 같이 Build Phases -> Compile Sources에서 SBJson관련 파일만 선택 후 더블클릭 또는 엔터키를 눌러 나온 팝업창에 -fobjc-arc 를 추가해줍니다.

 이렇게 말이죠. 그리고 빌드하면 이상없이 빌드가 완료됩니다.

이 블로그의 인기 게시물

CMake Windows에 설치하기

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

Unity3D 안드로이드 Keystore 생성하기