Asset catalog
in iOS on BoostCourse
개요
에셋 카탈로그에 대해 공부합니다.
Asset.xcassets (에셋 카탈로그)
에셋 카탈로그는 에셋과 다양한 디바이스의 속성에 대한 파일의 연결(mapping)을 통해서 애플리케이션 리소스에 쉽게 접근할 수 있도록 해준다. (리소스: 애플리케이션이 실행 중일 때 사용하는 이미지와 음악 파일 등)
에셋 카탈로그 폴더는 존재하는 모든 에셋 폴더, 그룹 폴더를 포함하는 최상위 폴더이다.
에셋 카탈로그 타입
| 폴더 타입 | 확장자 | 설명 | |:–:|:–:|:–:| | App Icon Type | .appiconset | 애플리케이션 아이콘 원본 이미지 | Catalog Type | .xcassets | 에셋 카탈로그의 최상위 폴더 (단 하나만 존재) | Image Set Type | .imageset | UIImage, NSImage의 인스턴스에 사용되는 이미지 | Data Set Type | .dataset | 장치 실행 가능 코드를 제외한 Xcode에 의해 생성된 모든 종류의 데이터를 포함하는 파일들의 집합 | Launch Image Type | .launchimage | 애플리케이션 실행화면 이미지 (iOS 7.0 이하에서만 필요)
앱 시닝 (app thinning)
애플리케이션이 디바이스에 설치될 때 앱 스토어와 운영체제가 그 디바이스의 특성에 맞게 설치하도록 하는 설치 최적화 기술이다. 이를 통해 애플리케이션의 서리 용량을 최소화하고 다운로드 속도를 향상시킬 수 있다. 앱 시닝의 기술 구성요소는 슬라이싱(slicing), 비트코드(bitcode), 주문형 리소스(on-demand resource)가 있다.
slicing
애플리케이션이 지원하는 다양한 디바이스에 대한 여러 조각의 애플리케이션 번들을 생성하고 디바이스에 알맞은 조각을 전달하는 기술이다. 개발자가 애플리케이션의 전체 버전을 iTunes Connect에 업로드하게 되면, 앱 스토어에는 각 디바이스 특성에 다양한 버전의 조각들이 생성된다. 사용자가 애플리케이션을 설치할 때 전체 버전이 아닌 슬라이싱이 된 조각 중 사용자의 디바이스에 가장 적합한 조각이 다운로드 되어 설치된다. (슬라이싱은 iOS 9.0 이상만 지원)