목차

반응형

bitcode 관련 빌드 오류

xcode로 프로젝트를 빌다하다보면 특정 라이브러리에서 bitcode가 없어서 라이브러리에 bitcode를 추가하더나 빌드 옵션에서 bitcode enable을 꺼달라고 에러가 발생한다.

 

여태까지는 빌드할때 그냥 bitcode를 끄고 빌드했는데 간만에 시간이 남아서 bitcode가 무엇인가, 켜주면 나한테 무슨 이득을 가져다줄 수 있을까 궁금해서 조사를 해보았다.

 

목차

1. Bitcode 하는 일

2. 하지만 부질없다?

3. 실제 빌드 결과

 

 

1. 1. Bitcode 하는 일

비트코드는 ios 9에서 시작됐는데 앱의 용량을 줄여주는 App Thining과 밀접한 관계가 있다고 한다.

App Thining에는 3가지 항목 중 하나가 Bitcode인데 간단하게 설명하자면 앱을 빌드해서 apple sotre에 올릴 때 bitcode를 활성화된 상태로 빌드해서 올리면 apple 측에서 32-bit, 64-bit 디바이스별로 필요한 빌드를 다르게 제공해서 용량을 최소화시켜준다고 한다.

마치 안드로이드 앱 번들과 비슷한 원리인 것 같다.

 

참고 사이트

https://iphonecodecenter.wordpress.com/2015/10/13/what-is-bitcode/comment-page-1/

 

What is BitCode in ios

Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Ap…

iphonecodecenter.wordpress.com

 

2. 하지만 부질없다?

하지만 계속해서 검색을 하는데 비트코드를 켜주는 것은 실제로 용량을 줄여주는데 도움을 주지 않을뿐더러 오히려 용량이 커진다고 주장하는 글들을 보았다.

 

애플에서 올려놓은 bitcode에 대한 설명이 사실이 아니라고 한다.

 

https://m.blog.naver.com/PostView.nhn?blogId=raveneer&logNo=220970358037&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

유니티 ipa가 너무 크게 나올때. (비트코드와 LLVM)

빈 프로젝트로 빌드를 하니 x코드가 300메가가 나왔다... 이것을 아이폰+패드를 아이폰 온리로스트리핑 : ...

blog.naver.com

bitcode를 끄면 빌드 용량이 줄어든다고 한다.

 

https://medium.com/@FredericJacobs/why-i-m-not-enabling-bitcode-f35cd8fbfcc5

 

Thoughts on application binaries packaging and software distribution

At Apple’s annual WWDC developer event, the compiler infrastructure team unveiled “Bitcode” and recommended iOS developers to opt-in , even…

medium.com

아예 bitcode를 키면 안 된다는 글도 있다.

 

3. 실제 빌드 결과

이쯤되면 직접 해보고 판단하는 수밖에 없다. 옆에 동료한테도 bitcode 켜주면 용량 줄어든다고 했는데 이 참에 확실히 알아보도록 한다.

 

좌측 비활성화, 우측 활성화

용량의 차이가 거의 없다고 봐도 무방할정도로 큰 차이가 없다.

그러면... 뭐가 옳은거지? 일단 좋은 거라 하니까 가능하면 켜주는 게 맞지 않을까 싶다.

반응형