SwiftGen은 iOS 및 macOS 개발자를 위한 강력한 코드 생성 도구입니다. 이 도구는 각종 리소스 파일들을 컴파일 타임에 미리 처리하여, 타입 안정성이 보장되고 코드 작성 시 발생할 수 있는 실수를 줄여줍니다. 이번 글에서는 SwiftGen을 사용할 때 유용한 팁과 트릭을 소개하겠습니다.
1. 설치 방법
SwiftGen을 사용하기 위해선 먼저 설치해야 합니다. Swift Package Manager(SPM)을 사용 중이라면 Package.swift
파일에 SwiftGen을 의존성으로 추가할 수 있습니다. Cocoapods를 사용하고 있다면 Podfile
에 다음과 같이 추가하세요:
pod 'SwiftGen'
Carthage를 사용 중이라면 Cartfile
에 다음과 같이 추가하세요:
github "SwiftGen/SwiftGen"
2. 코드 생성
SwiftGen을 사용해 코드를 생성하는 가장 일반적인 방법은 커맨드 라인 도구를 사용하는 것입니다. 프로젝트의 루트 디렉토리에서 다음 명령어를 실행하세요:
swiftgen
이 명령어는 swiftgen.yml
파일을 찾고 해당 파일에 정의된 내용에 따라 코드를 생성합니다. 혹은 다음처럼 직접 폴더 경로를 지정하여 실행할 수도 있습니다:
swiftgen path/to/resources
3. 리소스 유형별 코드 생성
SwiftGen은 다양한 리소스 유형에 대한 코드 생성을 지원합니다. 각 유형에 따라 다음과 같이 코드를 생성할 수 있습니다.
이미지
이미지 리소스를 코드로 변환하려면 다음과 같은 커맨드를 사용합니다:
swiftgen images <dir-path> -t name-swift4
위 명령어에서 <dir-path>
는 이미지 파일들이 있는 디렉토리의 경로입니다. -t name-swift4
는 이미지 이름을 Swift 4 버전의 코드로 생성하라는 옵션입니다.
문자열
로컬라이즈된 문자열 리소스를 코드로 변환하려면 다음과 같은 커맨드를 사용합니다:
swiftgen strings <dir-path> -t structured-swift4
위 명령어에서 <dir-path>
는 문자열 파일들이 있는 디렉토리의 경로입니다. -t structured-swift4
는 문자열을 구조화된 Swift 4 코드로 생성하라는 옵션입니다.
색상
색상 리소스를 코드로 변환하려면 다음과 같은 커맨드를 사용합니다:
swiftgen colors <dir-path> -t swift4
위 명령어에서 <dir-path>
는 색상 파일들이 있는 디렉토리의 경로입니다. -t swift4
는 색상 코드를 Swift 4 코드로 생성하라는 옵션입니다.
참고: 실제 프로젝트에서는 실제 리소스 파일들이 있는 디렉토리 경로를 사용해야 합니다.
4. 코드 사용
SwiftGen은 코드를 생성할 때 지정한 형식에 따라 일련의 타입과 메서드들이 생성됩니다. 이를 사용해서 리소스를 쉽게 가져와 사용할 수 있습니다. 아래는 간단한 예시 코드입니다:
import UIKit
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 이미지 사용
let image = UIImage(asset: .logo)
// 로컬라이즈된 문자열 사용
label.text = L10n.helloWorld
// 색상 사용
view.backgroundColor = UIColor(asset: .primaryColor)
}
}
위 예시 코드에서 .logo
, .helloWorld
, .primaryColor
는 각각 이미지, 문자열, 색상 리소스의 이름을 나타냅니다. SwiftGen이 생성한 코드를 사용하여 타입 안전성을 확보하고, 실수로 존재하지 않는 리소스를 사용하는 실수를 방지할 수 있습니다.
5. 추가 정보
SwiftGen의 자세한 사용 방법과 설정 옵션에 대해 더 알고 싶다면 공식 문서를 참고하세요.
결론
SwiftGen은 리소스 관리를 편리하게 도와주는 유용한 도구입니다. 코드 생성을 통해 타입 안전성을 보장하고 실수를 줄일 수 있으므로, iOS 및 macOS 앱 개발에 사용해보세요.