[swift] SwiftGen 템플릿 및 파일 구조

SwiftGen은 iOS 및 macOS 앱에서 사용되는 리소스를 자동으로 생성하는 도구입니다. 이를 통해 이미지, 색상, 폰트, 스트링과 같은 리소스들을 강력한 타입 안전한 코드로 접근할 수 있습니다.

이번 블로그 포스트에서는 SwiftGen의 템플릿 및 파일 구조에 대해 알아보겠습니다.

1. SwiftGen 템플릿

SwiftGen은 여러 리소스 유형을 처리할 수 있는 다양한 템플릿을 제공합니다.

이 템플릿들은 SwiftGen으로 생성된 리소스 코드를 커스텀하게 만들고 싶을 경우 유용하게 사용됩니다.

2. 파일 구조

SwiftGen은 보통 다음과 같은 파일 구조를 가집니다.

├── Source
│   ├── Assets
│   │   ├── Images.xcassets
│   │   ├── Colors.txt
│   │   ├── Fonts.txt
│   │   └── Strings.txt
│   └── Generated
│       └── Generated.swift
├── Templates
│   ├── AssetTemplate.stencil
│   ├── ColorsTemplate.stencil
│   ├── FontsTemplate.stencil
│   └── StringsTemplate.stencil
├── swiftgen.yml
└── main.swift

3. 예제 코드

다음은 SwiftGen을 사용하여 Assets, Colors, Fonts, Strings를 처리하는 예제 코드입니다.

import UIKit
import SwiftGen

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 이미지 리소스 사용 예제
        let image = UIImage(named: Asset.logo.name)
        let color = UIColor(named: Color.primary.name)
        let font = UIFont(named: Font.title.name)
        let localizedString = L10n.greeting
        
        // ... 리소스 사용 코드 작성 ...
    }
}

위의 코드에서 Asset, Color, Font, L10n은 각각 SwiftGen에서 생성된 유형 안전한 코드입니다. 이를 통해 리소스에 접근할 때 오타나 잘못된 사용을 방지할 수 있습니다.

4. 참고 자료

위의 링크는 SwiftGen의 GitHub 저장소로, SwiftGen의 자세한 사용 방법과 기능에 대한 정보를 얻을 수 있습니다.


이제 SwiftGen의 템플릿 및 파일 구조를 알아보았습니다. SwiftGen을 사용하여 리소스를 자동으로 생성하고 강력한 타입 안전한 코드를 작성해보세요!