일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Xcode
- FLASK
- 맥
- 계산기앱만들기
- 개발기록
- Swift
- Python
- ios
- 스프링
- jQuery
- DispatchGroup
- 계산기앱
- FileOwner
- spring
- MainScheduler
- JavaScript
- iOS앱배포
- 딩동말씀
- 스위프트
- 파이썬서버
- customclass
- AJAX
- Xib
- 웹
- iOS배포
- 앱배포
- iOS계산기
- 자바스크립트
- 앱버전구하기
- subscript
- 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 |