샘성의 iOS 개발 일지

App thinning에 대해서 설명하시오. 본문

iOS/면접

App thinning에 대해서 설명하시오.

SamusesApple 2023. 6. 3. 18:43
728x90

1. App thinning 이란?

  앱이 디바이스에 설치될 때, 앱스토어와 운영체제가 설치하는 기기의 특성에 맞게 앱이 설치되도록 하는 설치 최적화 기술

 

 

2. App thinning 장점

  최소한의 디스크 사용, 빠른 다운로드 속도 제공

 

 

3. App thinning 구성

   3-1. 슬라이싱 (Slicing)

    앱은 실행 가능한 코드와 다양한 리소스로 구성되어있다. 개발자가 다양한 art work와 리소스를 가진 범용 앱을 앱스토어에 업로드하면, 앱스토어에서 알아서 해당 앱을 다운받는 유저의 디바이스에 적절한 리소스를 조합하여 별도의 IPA(애플 앱 파일)를 만들어주는 기술.

   개발자는 앱을 잘 제작하기만 하면 된다. 앱스토어가 다운받는 유저의 기기에 맞게 알아서 슬라이싱하여 개발자가 제작한 IPA파일 중 적절한 요소를 골라 IPA파일을 만들어 유저에게 제공할 것이니...

 

   3-2. 주문형 리소스 (ODR - On Demand Resource)

    앱 파일(IDR)과 별개로 사용자가 필요할 때만 로드해주는 리소스가 주문형 리소스(ODR)이다. 

ODR은 앱스토어가 갖고 있어서 사용자가 필요하면 저장되는 방식이다. (이전에 사용했던 리소스가 필요 없어지면 해당 리소스가 포함된 asset pack 제거도 가능함)

e.g)  파파고 앱을 다운받으면 필요한 나라의 번역 기능 파일을 골라서 다운받을 수 있다.

         영한 번역이 필요하면 영한 번역만, 중한 번역이 필요하면 중한 번역만 다운 받아 사용하면 된다. 다른 번역 파일은 필요하지 않으면 다운받지 않아도 되서 메모리 낭비를 방지할 수 있다

  

   3-3. 비트코드 (Bit Code)

   기계어도 아니고 사람이 이해할 수 있는 언어도 아닌 그 사이에 존재하는 중간단계 코드로, 앱을 압축하여 앱스토어에 제출할 때 사용된다.

앱을 설치할 때 최적화 될 수 있도록 App Slicing과 함께 앱을 최적화된 형태로 배포 할 때 사용된다.

   중단 언어인 비트코드를 사용해, 사용자가 사용하는 기기에 맞게 최적화된 코드를 생성(이게 진짜 실행되는 코드)하여 앱의 성능과 호환성을 높인다.

  또한, 사용자가 앱을 업데이트 할 때 추가적인 바이너리를 다운받지 않고도 업데이트 할 수 있게 한다. 그러므로 유저가 보다 더 쉽게 앱을 최신버전으로 업데이트하고 앱의 크기를 줄일 수 있도록 한다.

 

 

 

 

참고: https://zeddios.tistory.com/655

 

App Thinning. 그리고 Bitcode

안녕하세요 :) Zedd입니다.음..ABI글을 쓰다가 또 Bitcode가 궁금해져서..이 Bitcode에 대해서 먼저 공부해보려고 합니다.ㅠ진짜 너무 어려워요..........Bitcode라던가 ABI라던가...이런 컴파일러(?)라고 해

zeddios.tistory.com

 

728x90