[swift] SwiftGen을 이용한 이미지 자동화 처리

SwiftGen은 iOS 및 macOS 개발을 위한 자동화 도구입니다. 이 도구를 사용하면 앱 내의 이미지, 컬러, 폰트 등의 리소스를 자동으로 생성할 수 있습니다. 이번 포스트에서는 SwiftGen을 사용하여 이미지 자동화 처리하는 방법에 대해 알아보겠습니다.

1. SwiftGen 설치하기

SwiftGen을 사용하기 위해 먼저 Cocoapods를 이용하여 프로젝트에 SwiftGen을 설치해야 합니다. Podfile에 다음과 같이 추가해주세요.

pod 'SwiftGen'

그리고 터미널에서 pod install 명령어를 실행하여 SwiftGen을 설치합니다.

2. 이미지 리소스 추가하기

프로젝트 내에 사용할 이미지 리소스를 추가합니다. 리소스 파일은 Images.xcassets에 저장되어 있어야 합니다.

3. SwiftGen 설정하기

SwiftGen을 사용하기 위해선 swiftgen.yml 파일을 설정해주어야 합니다. 프로젝트의 루트 폴더에 swiftgen.yml 파일을 생성하고 다음과 같이 작성해주세요.

# swiftgen.yml
strings:
  inputs: [Resources/**/*.strings]
  outputs:
    - templateName: structured-swift3
      output: "${TEMP_DIR}/Strings.swift"

assets:
  inputs: [Resources/Images.xcassets]
  outputs:
    - templateName: swift3
      output: "${TEMP_DIR}/Assets.swift"

위 설정에서 inputs 속성의 값으로 리소스가 위치한 경로를 지정해주고, outputs 속성으로 생성될 파일의 경로와 템플릿을 지정합니다.

4. SwiftGen 명령어 실행하기

터미널에서 다음 명령어를 실행하여 SwiftGen을 통해 리소스를 자동으로 생성합니다.

swiftgen

위 명령어를 실행하면 swiftgen.yml 파일에 설정한 경로에 해당하는 Swift 파일들이 생성됩니다. 이 파일들을 프로젝트에 추가하여 사용할 수 있습니다.

5. 자동 생성된 파일 사용하기

SwiftGen을 통해 생성된 Swift 파일에는 리소스에 대한 타입 세이프한 인터페이스가 포함되어 있어 사용하기 편리합니다. 예를 들어, 이미지 리소스의 경우 다음과 같이 사용할 수 있습니다.

let image = UIImage(asset: .logo)
imageView.image = image

위와 같이 리소스를 사용할 때 오타 등의 실수를 방지할 수 있으며, 코드를 작성하는 동안 자동 완성 기능을 활용할 수 있습니다.

참고 자료