-
[SwiftGen] Assets을 쉽고 안정적으로 사용하자!iOS 2022. 1. 20. 01:11
소개
SwiftGen이란 쉽게 말하자면 Assets을 코드로 바꿔주는 기능을 해준다고 생각하면 된다.
변환을 거친 후에는 아래와 같이 쉽게 사용할 수 있게 해준다.
이걸 왜 사용하느냐?
1. 리소스가 매우 많을 때, 자동으로 코드로 변환해주기 때문에
생산성
이 향상된다.2. 자칫 잘못 입력할 수 있는
String
으로 된 파일명을 자동으로 변환해주기 때문에안정성
이 향상된다.사용
설치
// Pod -> Podfile에서 pod 'SwiftGen', '~> 6.0' // Homebrew -> Terminal에서 $ brew update $ brew install swiftgen
적용
프로젝트 최상단에
swiftgen.yml
파일 생성// swiftgen.yml xcassets: inputs: - SeSACFriends/Resources/Assets.xcassets - SeSACFriends/Resources/Colors.xcassets outputs: - templateName: swift5 output: SeSACFriends/Resources/Generated/Assets+Generated.swift fonts: inputs: - SeSACFriends/Resources/Fonts outputs: - templateName: swift5 output: SeSACFriends/Resources/Generated/Fonts+Generated.swift
실행
Build Phases
에서New Run Script Phase
로 Phase생성 후 아래 스크립트를 넣어준다.// Pod if [[ -f "${PODS_ROOT}/SwiftGen/bin/swiftgen" ]]; then "${PODS_ROOT}/SwiftGen/bin/swiftgen" else echo "warning: SwiftGen is not installed. Run 'pod install --repo-update' to install it." fi // Homebrew export PATH="$PATH:/opt/homebrew/bin" if which swiftgen >/dev/null; then swiftgen config run else echo "warning: SwiftGen not installed" fi
혹은 Homebrew로 설치했다면, 터미널에서 프로젝트 디렉토리로 이동한 뒤
$ swiftgen config run
을 실행해주면 된다.그 결과로 output에 적어둔 경로로 파일이 생성된다.
'iOS' 카테고리의 다른 글
[MVVM 연습 프로젝트][Lotto](2) - 기능 추가하기 (0) 2021.12.30 [MVVM 연습 프로젝트][Lotto](1) - MVVM으로 리펙토링 (0) 2021.12.30 [MVVM 연습 프로젝트][Lotto](0) - MVC로 만들어보기 (0) 2021.12.28 [Architecture] MVVM에 대해서 알아보기 (0) 2021.12.28 [맥주] 맥주 추천 어플 만들기(0) - 준비 (0) 2021.12.23