- 에셋이란?
- 에셋을 이용해 프로젝트에 사용할 이미지 추가하기
- 핵심 키워드 : 에셋 카탈로그(Asset Catalog), 앱 슬라이싱(App Slicing), 앱 시닝(App Thining)
에셋 카탈로그(Asset Catalog)
Xcode프로젝트를 생성할 때 기본으로 생성되는 Assets.xcassets 폴더 앱에 사용될 여러 애셋을 보관하는 곳이다.(말그대로 에셋, 자산... 이미지같은 것?)
애셋 카탈로그는 여러 디바이스와의 mapping을 통해서 (모든 기기는 속성이 다르니깐) 애플리케이션의 리소스에 접근하기 쉽도록 도와준다.
여기서 말하는 속성은 각 디바이스의 특징, 사이즈 클래스, 주문형 리소스, 특정 타입의 정보 등이 있다.
애셋 카탈로그의 콘텐츠는 3가지 타입을 갖는다.
- folders : 다른 그룹폴더 또는 에셋 폴더를 포함할 수 있다. 폴더명인데도 확장자를 가지는 특징이 있다.
- JSON files : .json확장자 파일로서 속성에 대한 정보를 포함한다.
- Content files : 콘텐츠파일은 리소스 파일을 나타낸다.
button_play는 리소스가 아니고 저 자체가 Asset folder이다, 그 안의 1x, 2x, 3x(또는 Universal)가 리소스인듯..?
에셋 카탈로그 타입(Asset Catalog Type)
위의 글을 작성할 때 타입이라는 말이 이해가 안되었는데. 살펴보자.
다음은 에셋카탈로그의 대표적인 타입과 확장자이다.
폴터 타입 확장자 설명
App Icon Type | .appiconset | 애플리케이션의 아이콘 |
Catalog Type | .xcassets | 에셋 카탈로그 최상의 폴더 |
Image Set Type | .imageset | 객체들이 사용하는 이미지 |
Data Set Type | .dataset | 애플리케이션에서 사용되는 데이터 파일 |
Launch Image Type | .launchimage | 애플리케이션의 launch 이미지 |
- App Icon Type : 다양한 크기와 해상도의 애플리케이션 아이콘 원본 이미지
- Catalog Type : 에셋 카탈로그 폴더구조의 최상위 폴더. 한 개의 에셋 카탈로그에 한 개만 존재 가능
- Image Set Type : 이미지 에셋에서 UIImage와 NSImage의 인스턴스에 사용되는 이미지 파일
- Data Set Type : 장치 실행 가능 코드(device-executable code)를 제외한 Xcode에 의해 생성된 모든 종류의 데이터를 포함하는 파일들의 집합
- Launch Image Type : 애플리케이션 실행화면 이미지인데 iOS 7.0이하에서만 필요함! 이후버전에서는 스토리보드에서 launch screen storyboard를 사용한다!
이 외의 타입들에 대해서는 아래 문서를 참고하면 된다!
앱 시닝(App Thining)과 앱 슬라이싱(App Slicing)이란?
- 앱 시닝(App thining)
이름처럼 앱을 가볍게만드는..것인데 정확하게는 애플리케이션이 디바이스에 설치될 때 앱스토어와 운영체제가 디바이스의 특성에 맞춰서 설치 최적화를 한다는 것. 그리하여 설치용량을 최소화하고 다운로드의 속도를 향상할 수 있는 것!
앱 시닝의 기술 구성요소 : 슬라이싱, 비트코드, 주문형리소스(on-demand resource)
- 앱 슬라이싱
여러개의 번들로 애플리케이션을 생성하고 디바이스에 맞는 조각을 전달하는 기술.(사실 나는 이것만 읽어서는 정확하게 앱 시닝과 슬라이싱의 차이를 모르겠다..)
아무튼, 사용자가 다운로드를 하게되면, 여러개의 번들 중 디바이스에 최적화된 적합한 조합으로 다운로드되어 설치되는 것!
'공부 > [iOS&Swift]' 카테고리의 다른 글
[Swift] 접근제어(Access Control)에 대하여 (0) | 2022.01.13 |
---|---|
[Swift] 구조체(struct)와 클래스(class) (0) | 2022.01.12 |
[Swift] 스위프트의 클로저(Closure)에 대하여! (0) | 2022.01.11 |
[Swift] 연산자 / 조건문 / 반복문 을 간단히 알아보자! (0) | 2022.01.11 |
[Swift] 컬렉션타입 그리고 열거형에 대해 간단하게 알아보자! (0) | 2022.01.11 |
댓글