HulkCodeer의 기술 블로그

비트코드란?

June 01, 2019 | 1 Minute Read

저희 회사는 스타벅스 사이렌 오더 주문에서 쓰는 기능을 하나 제공하고 있어요. 바로 하이브리드 비콘의 정보를 읽어들이는 라이브러리를 제공 하고 있어요.

그 하이브리드 비콘에 담겨있는 정보를 바탕으로 어떤 매장인지를 알려주는 라이브러리 인거죠. 하이브리드 비콘이란 블루투스 신호와 고주파 사운드가 같이 나오는 비콘 입니다.

어느날 스타벅스 앱 평가에 노래 끊기는 현상에 대해 엄청난 VOC가 올라왔어요.

나 : 오! 그 엄청난 스타벅스 사이렌 오더 라이브러리를 만져 볼 수 있는 시간인가!!

하면서 저는 두근 대며 라이브러리를 열고 소스를 살펴봤습니다. 많은 문제들이 있었지만, 수정될 수 있는 부분과 수정하지 못하는 부분을 나누고 일단 수정 될 수 있는 부분을 최대한 고쳐서 라이브러리를 전달 했어요.

이틀 정도 지난 후 메일이 왔습니다.

스타벅스 : 님 그저께 주신 라이브러리 빌드 안됨…대체 뭐 고친거임?
나 : 빌드 안될만한걸 고친건 없는데??샘플 소스에서도 빌드 되고 실행도 됨~님이 뭐 고친거 아님?
스타벅스 : 오키!알겠음 에러 코드 보내드림!!

메일의 에러코드를 읽어보니 bitcode 어쩌고 저쩌고~~ 하이고 망했다…비트코드가 대체 뭐지ㅠㅠ 일단 검색 ㄱㄱ

구글 신 : 얘야 Bitcode는 말이다. 최종 사용자의 핸드폰이 64비면 64비트로 32비트면 32비트로 제공하는 멋진 기능이란다.
헐크코디어 : 아!!! 그런 엄청난 기능이??근데 32비트 사용자가 많나요??
구글 신 : …

iOS는 아이폰5S 부터 64비트 프로세서를 탑재 했다고 하네요.

생각해보니 스타벅스 앱에서 비트코드를 설정한것…같은데….. 저는 바로 비트코드 관련된 셋팅을 했습니다. 디버그 빌드시에는 maker만 해주고 실제 릴리즈 에서만 비트코드를 적용해준다고 하네요.

Other C Flags
Debug : -fembed-bitcode-marker
Release : -fembed-bitcode

음..간단하군

하지만 이문제 말고도 다른 문제가 발견되어 3일 내내 야근을 하게 되었습니다.