iOS - Asset Catalog(에셋 카탈로그)

Jay SJ Baek·2021년 3월 22일
0

iOS

목록 보기
1/2
post-thumbnail

에셋 카탈로그(Asset Catalog)

에셋 카탈로그(Asset Catalog)의 정의

  • Xcode에 프로젝트를 생성하면 Assets.xcassets라는 폴더가 생성됩니다. 이 폴더에서 애플리케이션에서 사용할 에셋(자원)을 관리하고 이를 에셋 카탈로그라고 합니다.
  • 에셋과 디바이스의 속성, 사이즈 클래스, 주문형 리소스, 특정 타입 정보 등의 디바이스의 속성에 대한 파일의 연결(mapping)을 통해 리소스에 쉽게 접근하도록 도와줍니다.

에셋 카탈로그의 구성

  • 에셋 카탈로그는 다음과 같이 구성되어 있습니다.


    • Groups: 그룹은 일종의 폴더 개념으로 한 개 이상의 다른 그룹이나 에셋을 가질 수 있습니다.
    • Assets: 에셋은 한 가지 타입의 관련된 속성과 파일들(리소스)의 집합(에셋 이름, 에셋 파일, Attributes)을 나타냅니다.
    • 에셋 이름(Asset name): 에셋을 활용하기 위해 에셋에 접근하기 위해 붙인 이름입니다.
    • 에셋 파일(Asset files): 선택한 에셋의 데이터 파일 또는 리소스 입니다. 이미지를 예로 들면 이미지 그 자체입니다.
    • Attributes : 속성은 선택한 그룹, 에셋, 에셋파일의 속성을 나타냅니다. (속성 인스펙터를 선택하면 볼 수 있습니다.)
    • Asset variations: 선택된 하나의 조각을 나타냅니다. 하나의 조각 단위로 속성 값을 적용할 수 있습니다.

에셋 카탈로그 콘텐츠

  • 에셋 카탈로그는 콘텐츠로서 다음 3가지 타입을 갖습니다.
    • Folders: 에셋 카탈로그 폴더는 다른 그룹 폴더나 에셋 폴더를 포함할 수 있습니다. 파일시스템의 폴더는 대체로 확장자를 갖지 않지만 에셋 카탈로그의 폴더는 해당 에셋 타입의 확장자가 자동으로 붙습니다.
    • JSON files: .json 확장자 파일로 속성에 대한 정보를 포함합니다.
    • Content files: 리소스 파일을 나타냅니다.

에셋 카탈로그 구조

  • Asset catalog folder : 에셋 카탈로그의 최상위 폴더로 모든 폴더와 파일들을 갖고 있습니다.
  • Group folder : 그룹 폴더는 다른 그룹 폴더나 에셋 폴더를 갖고 있습니다.
  • Asset folder : 에셋 폴더는 리소스 파일들을 갖고 있습니다.
  • 리소스의 타입에 관계없이 프로잭트 내의 에셋은 고유의 이름을 가져야 합니다.

에셋 카탈로그 타입

폴더 타입확장자설명
App Icon Type.appiconset애플리케이션의 아이콘 입니다. 아이콘의 원본 이미지입니다.
Catalog Type.xcassets에셋 카탈로그의 최상위 폴더입니다. 한 개의 에셋 카탈로그에 한 개만 존재 가능합니다.
Image Set Type.imageset객체들이 사용하는 이미지입니다. 이미지 에셋에서 UIImage와 NSImage의 인스턴스에 사용되는 이미지 파일입니다.
Data Set Type.dataset애플리케이션에서 사용되는 데이터 파일입니다. 장치 실행 가능 코드를 제외한 Xcode에 의해 생성된 모든 종류의 데이터를 포함하는 파일들의 집합입니다.
Launch Image Type.launchimage애플리케이션의 실행화면 이미지입니다. iOS 8.0 버전 이상은 기본적으로 실행화면 스토리보드를 사용하므로 iOS 7.0 이하에서만 필요합니다.

App Thining

  • 애플리케이션이 디바이스에 설치될 때 앱 스토어와 운영체제가 그 디바이스의 특성에 맞게 설치하도록 하는 설치 최적화 기술입니다. 설치 용량을 최소화하며 다운로드 속도를 향상시킬 수 있습니다. 즉, 설치해야할 앱을 작게 만들어주는(Thining) 작업입니다.
  • 기술 구성요소로 슬라이싱(Slicing), 비트코드(bitcode), 주문형 리소스(on-demand resource)가 있습니다.

App Slicing

  • 애플리케이션이 지원하는 다양한 디바이스에 대한 여러 조각의 어플리케이션 번들(app bundle)을 생성하고, 디바이스에 알맞은 조각을 전달하는 기술입니다. 개발자가 애플리케이션의 전체 버전을 iTunes Connect에 업로드 하게 되면, 앱스토어에서 각 디바이스 특성에 맞춘 다양한 버전의 조각들이 생성됩니다. 사용자가 앱을 설치 할 때, 전체 버전이 아닌 다양한 버전의 조각들 중 가장 적합한 조각이 다운로드되어 설치됩니다.

    iTunes Connect: 개발자가 앱 스토어에 판매할 애플리케이션을 제출하고 관리할 수 있도록 도와주는 웹 기반 도구입니다.

    command + shift + o : Xcode 빠른 열기 메뉴

Reference: boostcourse iOS 앱 프로그래밍 - by 야곰

profile
iOS Developer

0개의 댓글