[swift] R.swift를 사용하여 테스트 리소스 관리하기

Xcode 프로젝트에서 리소스 파일을 관리하는 것은 중요한 작업입니다. 특히, 테스트 리소스를 처리할 때 정적인 방식으로 리소스에 접근하는 것은 여러가지 문제가 발생할 수 있습니다. 이러한 문제를 해결하기 위해 R.swift라는 유용한 라이브러리를 사용해보겠습니다.

R.swift이란?

R.swift는 코드 생성 도구입니다. Xcode 프로젝트의 리소스들을 탐색하여 해당 리소스에 대한 강력한 타입 안전한 API를 제공합니다. 코드를 컴파일할 때마다 R.generated.swift라는 파일을 생성하여 리소스를 쉽게 액세스할 수 있도록 도와줍니다.

R.swift 설치하기

R.swift를 사용하기 위해 CocoaPods를 이용하여 라이브러리를 설치하겠습니다. Podfile에 아래와 같은 코드를 추가합니다.

pod 'R.swift'

설치를 위해 터미널에서 다음 명령어를 실행합니다.

$ pod install

사용 방법

  1. R.swift 파일을 생성하기 위해, 먼저 R folder를 생성해야 합니다. 이는 Xcode 프로젝트의 루트 디렉토리에 위치합니다.

  2. R.swift 스크립트를 실행하여 리소스를 스캔하고 R.generated.swift 파일을 생성합니다. 이 파일에는 프로젝트에서 사용되는 리소스에 대한 강력한 타입 안전한 API가 정의됩니다.

$ Pods/R.swift/rswift generate <path/to/resource/folder>
  1. 생성된 R.generated.swift 파일을 프로젝트에 추가합니다.

  2. 이제 리소스에 접근하기 위해서는 R 클래스를 사용하면 됩니다. 아래는 몇 가지 예제입니다.

// 이미지
let profileImage = R.image.profile()

// 문자열
let welcomeMessage = R.string.localizable.welcomeMessage()

// Xib
let customView = R.nib.customView.firstView

// Storyboard
let viewController = R.storyboard.main.viewController()

// 색상
let backgroundColor = R.color.background()

// 폰트
let titleFont = R.font.titleFont()

위와 같이 강력한 타입 안전한 API를 사용하면 오타나 런타임 에러를 줄일 수 있으며, 테스트 리소스를 관리하는 데에도 효과적입니다.

참고 자료