[XCode] Bitcode 설정 방법

Bitcode 요약

  • 컴파일 된 프로그램의 중간 표현(Intermediate Representation)
  • iOS의 경우 프로젝트 생성시 bitcode 활성화가 기본값이지만, 활성화 여부는 선택이 가능하다.(watchOS 및 tvOS 앱의 경우 bitcode가 필수)
  • bitcode를 활성화하여 사용 하려면 앱과 앱에 속하는 프레임워크 모두 bitcode가 활설화 되어야 한다.
  • 이전에는 앱스토어에 앱을 업로드 할때 시스템 아키텍쳐가 변경되면 재업로드가 필요 했지만, 현재는 bitcode빌드후 앱스토어에서 필요한 아키텍쳐를 사용자가 다운로드 할수 있게 되었다.

Bitcode 설정

  • XCode 프로젝트 Build Settings - Build Options의 Enable Bitcode를 활성화 한다. Embedded


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에 아래 프로젝트 설정을 추가해 본다.


    1. Skip Install옵션 YES 확인
      Embedded


    2. Other C Flags / Other C++ Flags에 -fembed-bitcode추가
      Embedded


    3. User-Defined에 BITCODE_GENERATION_MODE플래그 및 bitcode추가
      Embedded


참고 사이트

태그: ,

카테고리:

업데이트:

댓글남기기