관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] assets 폴더 안의 이미지 리소스 contents.json 개념 본문

iOS 응용 (swift)

[iOS - swift] assets 폴더 안의 이미지 리소스 contents.json 개념

jake-kim 2023. 4. 26. 23:13

Contents.json 개념

  • Xcode에서 이미지 관리 파일 img.png, img@2x.png, img@3x.png 추가하면 아래처럼 생성

  • 오른쪽 클릭 > Show in Finder로 이동

  • Contents.json 파일이 존재

  • json 파일을 보면 images 하위에 filename, idiom, scale이 있고 info가 존재
{
  "images" : [
    {
      "filename" : "img.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "img@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "filename" : "img@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
  • 이 파일은 이름, 크기, 해상도(scale), 디바이스의 종류(idiom)을 포함하고 있으며 Xcode는 이 정보를 사용하여 적절한 이미지 파일을 각 디바이스에 로드하고 이미지를 관리하는 것
    • idiom: 어떤 디바이스에서 사용될 것인지를 나타내는 속성 (universal은 모든 디바이스에서 사용할 수 있는 이미지를 의미하며 ipad, watch, car등이 존재)
    • idiom을 적절히 세팅하여 앱의 UI를 디바이스에 맞게 조절하고 디바이스의 메모리 사용량에 있어서 최적화가 가능

* 참고

https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_ref-Asset_Catalog_Format/Contents.html

Comments