[XCode] Bitcode 설정 방법
Bitcode 요약
- 컴파일 된 프로그램의 중간 표현(Intermediate Representation)
- iOS의 경우 프로젝트 생성시 bitcode 활성화가 기본값이지만, 활성화 여부는 선택이 가능하다.(watchOS 및 tvOS 앱의 경우 bitcode가 필수)
- bitcode를 활성화하여 사용 하려면 앱과 앱에 속하는 프레임워크 모두 bitcode가 활설화 되어야 한다.
- 이전에는 앱스토어에 앱을 업로드 할때 시스템 아키텍쳐가 변경되면 재업로드가 필요 했지만, 현재는 bitcode빌드후 앱스토어에서 필요한 아키텍쳐를 사용자가 다운로드 할수 있게 되었다.
Bitcode 설정
- XCode 프로젝트 Build Settings - Build Options의 Enable Bitcode를 활성화 한다.
Bitcode 지원 여부 확인
- 아래 명령어를 통하여 바이너리가 bitcode로 설정되어 빌드되었는지 확인이 가능하다.
$ otool -arch armv7 -l framework/framework | grep __LLVM $ otool -arch armv64 -l framework/framework | grep __LLVM segname __LLVM // bitcode 설정 확인 segname __LLVM
- 위 명령어를 통하여 bitcode확인이 되어도 archive에 실패하는 경우가 있는데, static 라이브러리인 경우 해당 현상이 잦은듯 하다.
빌드 실패시 XCode에 아래 프로젝트 설정을 추가해 본다.
- Skip Install옵션 YES 확인
- Other C Flags / Other C++ Flags에 -fembed-bitcode추가
- User-Defined에 BITCODE_GENERATION_MODE플래그 및 bitcode추가
- Skip Install옵션 YES 확인
댓글남기기