일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- iOS배포
- subscript
- 딩동말씀
- customclass
- 앱배포
- iOS앱배포
- FileOwner
- FLASK
- 계산기앱
- 앱버전구하기
- iOS계산기
- jQuery
- 웹
- MainScheduler
- Swift
- 스위프트
- 자바스크립트
- 계산기앱만들기
- AJAX
- Xcode
- 파이썬서버
- DispatchGroup
- 개발기록
- ios
- Python
- JavaScript
- spring
- 스프링
- 맥
- Xib
- Today
- Total
개발하는 뚝딱이
[iOS] 앱 시닝(app thinning) 본문
앱 시닝(app thinning)이란?
애플리케이션이 디바이스에 설치될 때, 앱 스토어와 운영체제가 디바이스의 특성에 맞게 설치되도록 하는 설치 최적화 기술을 의미합니다. 최소한의 디스크 사용과 빠른 다운로드를 제공할 수 있습니다. 앱 시닝은 슬라이싱(slicing), 비트코드(bitcode), 그리고 주문형 리소스(on-demand resource)가 있습니다.
슬라이싱(slicing)이란?
앱이 지원하는 여러 디바이스에 대해 각각 조각 애플리케이션 번들을 생성하고, 해당 디바이스에 가장 적합한 조각을 전달하는 기술입니다. 개발자가 App store connect에 업로드하면, 앱 스토어에서 디바이스 특성에 따라 다양한 버전의 조각들을 생성합니다. 그리고 사용자가 그 조각 중에서 가장 알맞은 조각(app variant)을 다운로드 받는 것입니다.
비트코드(bitcode)란?
비트코드는 기계언어로 번역되기 이전 단계의 중간표현(Intermediate Representation)을 말합니다. 현재 iOS에서는 옵션이나 기본 설정으로 되어 있으며, 개발자가 프로젝트 옵션에서 선택할 수 있습니다. 비트코드를 사용하여 업로드를 하면 애플이 애플리케이션을 재컴파일하여 앱 바이너리(app binary)를 생성합니다. 비트코드를 사용하지 않으면, 모든 경우의 디바이스 경우에 따라 바이너리로 생성하여 합쳐져서 fat binary라는 것이 업로드되지만, 비트코드를 사용하면 필요 경우에 따라 재컴파일하게 되므로 여기에서 최적화할 수 있습니다.
주문형 리소스(on-demand resource)란?
쉽게 말해서, 필요할 때 다운로드 받는다는 것입니다. 예를 든다면 사용자가 게임을 합니다. 현재 레벨보다 상위레벨은 필요하지 않으므로 갖고 있을 필요가 없습니다. 사용자의 레벨이 필요할 때 다운로드 받는 것입니다. 또한 인앱 구매를 예로 들 수 있습니다. 사용자의 선택에 따라 다운로드를 받는 것입니다.
참조
https://www.bugsee.com/blog/ios-crash-symbolication-bitcode/
'iOS' 카테고리의 다른 글
[ios/xcode] xcode에서 위치 사용하기 (0) | 2020.04.17 |
---|---|
[iOS] 델리게이트 Delegate (0) | 2020.04.05 |
[iOS] View Programming 뷰 프로그래밍 (0) | 2020.03.19 |
[iOS] 네비게이션 컨트롤러 Navigation Controller (0) | 2020.03.19 |
[iOS] 에셋 카탈로그 (0) | 2020.02.15 |