[swift] SwiftGen과 함께하는 빌드 시스템 자동화

빌드 시스템 자동화는 개발 과정에서 많은 이점을 제공합니다. SwiftGen은 Swift 언어용 코드 생성 도구로, 리소스 파일을 사용하기 쉬운 코드로 자동으로 변환해줍니다. 이를 통해 개발자들은 리소스 파일을 직접 참조하는 대신, Swift 코드를 통해 리소스를 쉽게 사용할 수 있습니다.

SwiftGen의 주요 기능

  1. Localization:
    • .strings 파일을 사용하여 다국어 지원을 쉽게 구현할 수 있습니다. SwiftGen은 .strings 파일로부터 Key-Value 쌍을 생성하여 로컬라이징된 문자열을 사용할 수 있게 합니다.
  2. Assets:
    • 이미지 리소스를 사용할 때 흔히 발생하는 오타 문제를 방지할 수 있습니다. SwiftGen은 .xcassets 폴더로부터 이미지 리소스를 코드로 바로 접근할 수 있는 enum 형태로 생성해줍니다.
  3. Colors:
    • .xcassets 폴더에서 정의된 컬러 리소스를 Swift 코드로 쉽게 참조할 수 있습니다. 오타나 잘못된 컬러 사용 문제를 방지할 수 있습니다.

SwiftGen 설치하기

  1. SwiftGen을 설치하기 위해 Homebrew 패키지 관리자를 사용합니다. 터미널에서 다음 명령어를 실행합니다:

    brew install swiftgen
    
  2. 설치가 완료되면 프로젝트의 루트 디렉토리로 이동하여 다음 명령어를 실행합니다:

    swiftgen init
    
  3. swiftgen.yml 파일이 생성됩니다. 이 파일을 통해 SwiftGen의 설정을 관리할 수 있습니다.

SwiftGen 사용하기

  1. Localization 사용하기:
    • SwiftGen을 사용하여 로컬라이징된 문자열을 참조하는 경우, swiftgen.yml 파일에 다음과 같이 설정합니다:

      strings:
        inputs: [path/to/Localizable.strings]
        output: path/to/Strings.swift
      
    • 이후 터미널에서 다음 명령어를 실행하면, Strings.swift 파일이 생성되고, 로컬라이징된 문자열을 사용할 수 있게 됩니다:

      swiftgen strings
      
  2. Assets 사용하기:
    • SwiftGen을 사용하여 이미지 리소스를 참조하는 경우, swiftgen.yml 파일에 다음과 같이 설정합니다:

      xcassets:
        inputs: [path/to/Assets.xcassets]
        output: path/to/Assets.swift
      
    • 이후 터미널에서 다음 명령어를 실행하면, Assets.swift 파일이 생성되고, 이미지 리소스를 코드로 쉽게 사용할 수 있게 됩니다:

      swiftgen xcassets
      
  3. Colors 사용하기:
    • SwiftGen을 사용하여 컬러 리소스를 참조하는 경우, swiftgen.yml 파일에 다음과 같이 설정합니다:

      colors:
        inputs: [path/to/Colors.xcassets]
        output: path/to/Colors.swift
      
    • 이후 터미널에서 다음 명령어를 실행하면, Colors.swift 파일이 생성되고, 컬러 리소스를 코드로 쉽게 사용할 수 있게 됩니다:

      swiftgen colors
      

빌드 시스템 자동화는 개발 과정에서 시간과 노력을 절약하는 데 도움이 됩니다. SwiftGen을 사용하여 리소스 파일을 손쉽게 Swift 코드로 변환하고, 오타나 에러를 방지하여 안정적인 앱을 개발하세요!

참고 자료