[swift] SwiftGen을 사용해보면 좋은 시나리오

SwiftGen은 Swift 언어를 사용하는 iOS 및 macOS 애플리케이션 개발자들에게 편리한 도구입니다. 이 도구를 사용하면 애플리케이션에서 사용되는 리소스 파일들을 자동으로 생성하여, 코드에서 리소스에 접근할 때 발생하는 일부 에러를 방지할 수 있습니다.

이번에는 SwiftGen을 사용하는 것이 좋은 시나리오를 소개하겠습니다. 예를 들어, 애플리케이션에서 사용하는 이미지, 색상, 폰트, 스트링 등의 리소스 파일이 많은 경우, 일일히 파일 이름을 타이핑하여 사용해야 하는 것은 번거로운 작업입니다. SwiftGen을 사용하면 리소스 파일의 이름을 타이핑할 필요 없이 간단하게 리소스에 접근할 수 있습니다.

SwiftGen 사용하기

  1. SwiftGen 설치하기: SwiftGen을 사용하기 위해서는 먼저 Cocoapods를 통해 프로젝트에 SwiftGen을 설치해야 합니다. 프로젝트 폴더의 Podfile에 다음과 같이 추가합니다:
pod 'SwiftGen', '~> 6.0'
  1. 리소스 파일 구성하기: 애플리케이션에서 사용되는 리소스 파일들을 정리합니다. 예를 들어 “Images” 폴더에 이미지 파일들을 저장하고, “Strings” 폴더에 스트링 파일들을 저장합니다.

  2. SwiftGen 사용하기: 터미널을 열고 프로젝트 폴더로 이동한 뒤, 다음 명령어를 실행합니다:

$ pod install
$ SwiftGen
  1. SwiftGen 설정: SwiftGen이 실행되면 swiftgen.yml 파일이 생성됩니다. 이 파일을 편집하여 리소스 파일의 경로 및 종류들을 구성합니다. 예를 들어, 다음과 같이 설정할 수 있습니다:
# swiftgen.yml
...
xcassets:
  inputs: Resources/Images.xcassets
strings:
  inputs: Resources/Strings
fonts:
  inputs: Resources/Fonts
colors:
  inputs: Resources/Colors
...
  1. Swift 코드에서 사용하기: SwiftGen이 실행되면 생성된 Swift 소스 코드 파일들이 자동으로 생성됩니다. 이 파일들을 프로젝트에 추가하고, 코드에서 다음과 같이 리소스에 접근할 수 있습니다:
// 코드에서 이미지에 접근하기
let image = UIImage(asset: .profileImage)

// 코드에서 색상에 접근하기
let color = UIColor(asset: .primaryColor)

// 코드에서 폰트에 접근하기
let font = UIFont(asset: .titleFont)

// 코드에서 스트링에 접근하기
let string = L10n.greetingMessage

위의 예제에서 .profileImage, .primaryColor, .titleFont, L10n.greetingMessage 등은 SwiftGen이 생성한 열거형 또는 구조체에 정의된 값들입니다.

결론

SwiftGen은 리소스 파일들을 쉽게 관리할 수 있게 도와주는 강력한 도구입니다. 애플리케이션 개발 시 리소스에 접근하는 일을 보다 간편하고 안전하게 처리할 수 있습니다. SwiftGen을 사용하여 생산성을 향상시키고, 버그 발생 가능성을 줄여보세요!

참고자료