목차
- ✅ Tuist란? 설치해보자
- Static/Dynamic Framework란?
- Tuist를 정복해보자!!
Tuist
Tuist는 Xcode 프로젝트 생성과 관리를 자동화하여 개발 과정을 더욱 효율적으로 만들어주는 강력한 도구입니다.
설치하기
Tuist는 mise를 통해 쉽게 설치할 수 있습니다.
- 특정 버전의 Tuist가 필요하다면 다음과 같이 설치할 수 있습니다.
$ mise install tuist@x.y.z $ mise use tuist@x.y.z
주요 명령어
Tuist를 효과적으로 사용하기 위해 알아야 할 주요 명령어들입니다.
tuist init
: 새 Tuist 프로젝트 시작하기tuist generate
: Xcode 프로젝트 파일 생성하기tuist edit
: Tuist 설정 파일 편집하기tuist build
: 프로젝트 빌드하기tuist test
: 테스트 실행하기tuist run
: 앱 실행하기tuist graph
: 프로젝트 의존성 시각화하기tuist cache --external-only
: 외부 의존성 캐싱
Package.swift로 의존성 관리하기
Swift Package Manager를 활용하여 외부 라이브러리를 관리할 수 있습니다.
다음은 Package.swift 파일의 예시입니다.
import PackageDescription
let package = Package(
name: "ONEstore Global",
dependencies: [
.package(url: "https://github.com/google/GoogleSignIn-iOS.git", from: "8.0.0"),
.package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "11.1.0"),
.package(url: "https://github.com/hmlongco/Factory.git", from: "2.3.2"),
.package(url: "https://github.com/Kitura/Swift-JWT.git", from: "4.0.0"),
.package(url: "https://github.com/google/GoogleUtilities.git", from: "8.0.2"),
]
)
이 설정으로 "ONEstore Global"을 만들고 여러가지 라이브러리를 의존성으로 추가했습니다.
Tuist의 Project.swift 파일에서 이 패키지를 사용하려면 다음과 같이 설정합니다.
import ProjectDescription
let project = Project(
name: "ONEstore Global Project",
targets: [
Target(
name: "ONEstore Global App",
platform: .iOS,
product: .app,
bundleId: "com.onestore.global.app",
infoPlist: .default,
sources: ["Sources/**"],
resources: ["Resources/**"],
dependencies: [
.external(name: "GoogleSignIn", condition: .none),
.external(name: "Factory", condition: .none),
]
)
]
)
이렇게 하면 Tuist가 Package.swift에 정의된 의존성을 자동으로 관리하고 프로젝트에 포함시킵니다.
마치며
Tuist는 iOS 개발 워크플로우를 크게 개선할 수 있는 강력한 도구입니다.
프로젝트 설정 자동화, 의존성 관리 간소화, 그리고 일관된 프로젝트 구조 유지 등 다양한 이점을 제공합니다.
Tuist를 활용하여 더 효율적이고 체계적인 iOS 개발을 경험했습니다.