iOS) App Thinning

JeongYeongJoon·2023년 6월 3일

iOS_Interview

목록 보기
9/15
post-thumbnail

App Thinning

  • 애플리케이션이 디바이스에 설치될 때, 앱 스토어와 운영체제가 디바이스의 특성에 맞게 설치되도록 하는 설치 최적화 기술을 의미한다.
  • 최소한의 디스크 사용빠른 다운로드를 제공할 수 있다.
  • 슬라이싱(slicing), 비트코드(bitcode), 주문형 리소스(on-demand resource)로 구성된다.

Slicing

  • 다양한 기기와 운영체제 버전에 대하여 여러 가지 app bundle의 변형(variants)을 생성하고 전달하는 과정
  • 사용자가 앱 스토어를 통해 앱을 설치하게 되면 사용자의 기기 및 기기의 운영체제 버전에 맞춰 변형(variants)이 다운로드가 된다.
  • iOS, tvOS 9.0 이상부터 슬라이스 된 앱을 지원한다. 그 이하 버전은 앱스토어에서 universal variants를 제공한다.

BitCode

  • 비트코드는 컴파일된 프로그램의 중간표현(Intermediate Representation)이다.
  • 비트코드가 포함된 앱스토어 커넥트에 업로드한 앱은 앱스토어에서 컴파일 및 연결된다.
  • 비트코드를 포함하면 앱의 새 버전을 앱스토어에 제출할 필요 없이 향후 앱 바이너리를 다시 최적화할 수 있다.
  • iOS 앱의 경우 비트코드가 default이면서도 optional이라고 한다.

On-Demand Resource

  • 이미지나 사운드 같은 리소스를 키워드로 태그 할 수 있고, 태그별로 그룹을 요청할 수 있다.
  • 필요할 때 다운로드 하는 것을 의미

App Thinning의 이점

  • 더 작은 앱 크기
  • 앱 리소스의 지연 로딩
  • 거의 사용하지 않는 리소스의 원격 저장
  • 인앱 구매 리소스의 원격 저장

참고 사이트

[iOS]App Thinning

profile
iOS와 Swift, SwiftUI를 공부하기 위해 블로그를 운영 중입니다.

0개의 댓글