Tuist란?

2024. 11. 2. 14:58·iOS/Tuist
반응형

정의

tuist 공식문서를 살펴보면 다음과 같이 정의 되어있다.

  • CLI 툴
  • 프로젝트 생성
  • 대규모 모듈화 프로젝트의 유지보수 및 최적화
  • 스위프트로 작성

정리하면 모듈화 프로젝트를 유지보수 및 최적화 하는 프로젝트 생성 CLI 툴이다.  

 


장점

  • swift로 모듈간의 의존성 관계를 정의할 수 있다.
  • Project.swift를 통해 tuist를 통해 실행할 때 마다 xcodeproj파일을 생성하므로 협업 시
    xcodeproj로 관련 충돌이 일어나지 않는다.
  • 별도의 자동화를 쉽게할 수 있다.
  • 그래프를 통해 모듈간 의존성을 시각적으로 보여줄 수 있다.
  • tuist의 또 다른 장점은 프로젝트를 생성할때 Resources/ 안에 파일 확장자에 따라  다음과 같이 enum을 통해
    쉽게 접근할 수 있게 제공해준다는 점이다. 

설치

tuist 4.0부터 mise을 이용해서 설치하는 것을 권장한다.

mise는 여러 버전의 개발 런타임을 관리하는 도구로 간단하게 brew 같은 느낌으로 생각하면된다.

 

1.mise 설치

curl https://mise.run | sh # 설치
 ~/.local/bin/mise --version # 버전 확인
 
 echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc #  bash에서 mise 활성화
 
 echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc # zsh에서 mise 활성화

 

2. tuist 설치

mise install tuist # 최근 버전 설치

mise install tuist@x.y.z # 특정 버전 설치: x.y.z 버전

 

3. 여러개 버전 설치 되어있을 때

 

위와 같이 4.1.2.1과 4.32.1이 설치되어 있을  때  다음과같이 특정 버전을 선택한다.

 

mise use -g tuist@4.12.1

프로젝트 생성

주의할 점은 tuist 생성 시 반드시 그 폴더는 비어있어야한다. 

다음과 같은 오류를 만날 수 있다.

tuist init --platform ios // UIKit
tuist init --platform ios --template swiftui // SwiftUI

참고

 

GitHub - tuist/tuist: Tuist's CLI

Tuist's CLI. Contribute to tuist/tuist development by creating an account on GitHub.

github.com

 

 

Getting Started | mise-en-place

 

mise.jdx.dev

 

반응형

'iOS > Tuist' 카테고리의 다른 글

[부스트 캠프] Tuist와 불편한 동거  (4) 2024.11.26
Tuist 탬플릿 만들기 (1) Make File  (0) 2024.11.09
Tuist 구성 파일  (0) 2024.11.03
Framework vs Library  (3) 2024.11.03
프로젝트 생성 관련 사전 지식  (3) 2024.11.02
'iOS/Tuist' 카테고리의 다른 글
  • Tuist 탬플릿 만들기 (1) Make File
  • Tuist 구성 파일
  • Framework vs Library
  • 프로젝트 생성 관련 사전 지식
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (329) N
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (41)
        • swift (34)
        • python (6)
        • Kotlin (1)
      • iOS (134)
        • UIKit (37)
        • Combine (1)
        • SwiftUI (34)
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (21)
        • 어노테이션 (6)
        • 튜토리얼 (14)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
      • AI (11) N
        • 이론 (10) N
        • MCP (1)
        • LangGraph (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dispatch
    protocol
    CS
    boostcamp
    AVFoundation
    UIKit
    프로그래머스
    투포인터
    Tuist
    IOS
    lifecycle
    concurrency
    SwiftUI
    dfs
    GIT
    Spring
    Swift
    dp
    property
    백준
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
Tuist란?
상단으로

티스토리툴바