Swift) Xcode, app thinning이란?

2023. 8. 31. 17:17·앱/Swift

app thinning

app thinning이란, 앱스토어에서 디바이스로 앱을 다운받을때, 디바이스 특성에 맞게 최적화 되서 다운받도록 하는 최적화 기술이다.

이를 통해서 빠른 설치와 최소한의 디스크 사용을 보장받는다.

- 슬라이싱
- 비트코드
- On Demand Resource

3개의 기술로 이루어져 있다.

슬라이싱

앱 내부에는 이렇게 다양한 소스코드와, 다양한 리소스들이 존재한다. 특히나 앱에서는, 다양한 운영체제와 아키텍쳐에 있어서 구분되는 다양한 코드들이 존재한다.

이를 우리의 디바이스에서 다운을 받게 되면, 앱스토어에서 디바이스의 특징을 보고

Untitled.png

이렇게 디바이스특성에 맞는 리소스와 코드만을 조합해서 IPA를 생성한다.

비트코드

비트코드 는 컴파일된 프로그램의 중간 표현이다. 비트코드가 포함된 App Store Connect에 업로드하는 앱은 App Store에서 컴파일되고 링크된다.

On Demand Resource(ODR)

Untitled.png

이렇게 다양한 데이터가 있을때, 앱실행시 모든 데이터가 필요한것은 아니기때문에 앱스토어에서 필요할때마다 데이터를 받아서 사용하게 되는것이다.

이를 통해서

  • 앱 크기가 작아져 앱 다운로드 속도가 빨라지고 최초 실행 경험이 향상
  • 사용자가 앱을 탐색하는 동안 필요에 따라 ODR이 백그라운드에서 다운로드
  • 운영 체제는 더 이상 필요하지 않고 디스크 공간이 부족할 때 ODR을 제거

참고

bookmark

bookmark

반응형

'앱 > Swift' 카테고리의 다른 글

Swfit) static library, dynamic library의 차이에 대해서(feat. framework)  (0) 2023.09.07
Swift) 비동기 프로그래밍에 대한 이해  (0) 2023.08.31
Swift) UIApplicationMain, UIApplication, App delegate, UIApplicationDelegate  (0) 2023.08.31
Swift) Dispatch Group이란, 사용하는 방법  (0) 2023.08.28
Swift) Swift concurrency가 나온 배경에 대해서, thread와 GCD의 한계점  (2) 2023.08.28
'앱/Swift' 카테고리의 다른 글
  • Swfit) static library, dynamic library의 차이에 대해서(feat. framework)
  • Swift) 비동기 프로그래밍에 대한 이해
  • Swift) UIApplicationMain, UIApplication, App delegate, UIApplicationDelegate
  • Swift) Dispatch Group이란, 사용하는 방법
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Swift
    네트워크
    SwiftUI
    백준
    widgetkit
    컴퓨터그래픽스
    dispatchqueue
    멋쟁이사자처럼
    웹
    spritekit
    c++
    영남대
    TCA
    문법
    위젯킷
    운영체제
    대외활동
    Protocol
    composable architecture
    widget
    uikit
    ReactorKit
    후기
    멋사
    알고리즘
    스유
    cs
    swift concurrency
    스위프트
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
Swift) Xcode, app thinning이란?
상단으로

티스토리툴바