본문 바로가기
Tuist/Tuist-기본

Tuist - 1) 설치

by KS피터 2023. 11. 28.

Tuist 학습 일기장

Tuist 설치부터 초기화까지 내용을 기록하고 있습니다.

 

목차

     

    Tuist

    Xcode 프로젝트 관리 툴로써 협업에서 XcodeGen처럼 프로젝트 모듈화나 프로젝트 설정 관리를 효과적으로 사용할 수 있습니다.

     

    Tuist 장점

    기존 XcodeGen과 다르게 Swift를 이용하기 때문에 툴 학습에서 진입장벽을 낮출 수 있습니다.

     

    Tuist 주소

     

    Tuist 설치 (23.12.28 수정)

    기존 curl 설치 방식은 deprecated 돼서 기존에 curl은 unintall 후 RTX를 이용한 설치 방식으로 변경을 진행해주어야 합니다.

     

    기존 curl 설치 제거

    만약 신규 설치를 하시는 분들은 이부분은 스킵해 주시고 RTX 설치부터 보시면 됩니다.
    기존 curl로 설치 하신 분들은 generate시 아래와 같이 curl 방식 제거 후 RTX 설치에 대한 경고 메시지가 노출됩니다.

    Tuist 경고 메시지

     

    제거를 위해서 경고문에 있는 것처럼 아래 명령어를 터미널에 입력합니다.

    curl -Ls https://uninstall.tuist.io | bash

     

    RTX  이용한 설치 방법

    RTX 설치 방법은 RTX GitHub에 자세히 나와 있습니다.

     

    GitHub - jdx/rtx: dev tools, env vars, task runner

    dev tools, env vars, task runner. Contribute to jdx/rtx development by creating an account on GitHub.

    github.com

     

    다음 명령어를 터미널에 입력해 RTX를 설치합니다.

    curl https://rtx.jdx.dev/rtx-latest-macos-arm64 > ~/bin/rtx
    chmod +x ~/bin/rtx

     

    RTX 설치가 완료 되면 다음 명령어를 터미널에 입력하여 tuist를 설치합니다.

    rtx install tuist

     

    위에 처럼 하면 Tuist를 사용 가능한 상태가 완료되었습니다.

     

    curl 이용한 설치 방법 (deprecated)

    터미널에 아래 명령어를 입력 후 Enter를 눌러주세요.

    curl -Ls https://install.tuist.io | bash

    Tuist 설치 결과 화면

    위에 처럼 하면 Tuist를 사용 가능한 상태가 완료되었습니다.

     

    Tuist 초기화

    터미널에서 Tuist를 초기화할 프로젝트로 이동 후 아래 명령어를 입력해 줍니다.

    tuist init --platform ios

    Tuist 초기화 결과 화면
    Tuist 초기화 후 생성 파일 결과

    초기화 후 해당 폴더에 Plugins, Targets, Tuist, Project.swift가 자동으로 생성됩니다.

     

    Tuist 초기화 구조

    해당 글에서는 자세한 설명은 추후 올라올 글에서 다루고 간략한 구조 설명만 진행하겠습니다.

     

    • Tuist: 프로젝트 or 타겟 설정 및 생성, 관리를 간편하게 하기 위한 템플릿 코드
    • Targets: Tuist에서 자동으로 생성한 타겟들 모음
    • Plugins: 기존 Tuist 기능을 확장하는 데 사용되는 코드 모음
    • Project.swift: 하나의 프로젝트를 관리하는 코드 파일

     

    Tuist 수정

    Tuist 프로젝트 설정을 수정하기 위해선 아래 명령어를 터미널에 입력합니다.

    tuist edit

    tuist edit 터미널 결과
    tuist edit 명령어 결과
    tuist edit 실행된 Xcode 파일 구조

    tuist edit 명령어 이후 Xcode가 자동으로 실행되며 프로젝트 관리 수정을 위한 작업을 시작할 수 있는 상태가 됩니다.

    수정 작업 Xcode에 표시된 두 프로젝트는 다음과 같이 Plugins, Manifests로 나뉘게 됩니다.

    • Plugins: Tuist 확장을 위한 플러그인 코드가 존재하는 프로젝트
    • Manifests: 프로젝트 설정 및 생성, 관리 + 관련 템플릿 작성을 위한 프로젝트

     

    Tuist 프로젝트 생성

    tuist edit을 통해 프로젝트 설정이 완료되면 프로젝트 생성 및 적용 아래 명령어를 터미널에 입력하여 진행해야 합니다.

    tuist generate

    tuist generate 터미널 결과
    tuist generate 결과
    tuist 예시 generate 결과 파일 구조

    generate가 되면 자동으로 Xcode가 실행됩니다. 기본 예시 그대로 generate 하는 경우 위와 같은 파일 구조를 가지게 됩니다.

    • TuistEx: 가 실제 App 타겟
    • TuistExKit: TuistEx에 종속된 framework
    • TuistExUI: TuistEx에 종속된 framework

    앞으로 이어지는 예시에서는 TuistExKit, TuistExUI는 제거되어 진행할 예정입니다.

     

    소소한 Tip

    작성이 완료되고 터미널에서 Control + C 를 입력하면 수정이 완료처리 되어 해당 수정 프로젝트(Manifests.xcworkspace)는 제거됩니다.

    혹시나 수정이 계속 필요한 상태에서는 해당 수정 상태를 유지하면서 다른 터미널 창을 하나 더 두고 tuist generate 명령어로 따로 반영을 체크하는 방식을 추천드립니다.

     

    마치며

    Tuist에 대한 기본 원리와 설치 및 초기화를 익혀보고 실제 프로젝트를 관리할 수 있는 준비 상태까지 진행하였습니다.

    다음에는 실제 타겟을 만드는 방법과 프로젝트로 타겟을 연결하는 방법을 진행하며 조금씩 프로젝트를 생성하는 방법을 진행하도록 하겠습니다.

     

    다음글

    Tuist - 2) Target - 1 이론

     

    Tuist - 2) Target - 1 이론

    Tuist 학습 일기장 Xcode에서 Target의 기본 정의와 Tuist에서 Target 생성을 위해 제공하는 모델 내부에 대한 정리를 기록하고 있습니다. 목차 Target 애플 공식 문서에 따르면 다음과 같이 타겟을 설명하

    ks-peter.tistory.com

     

    반응형

    'Tuist > Tuist-기본' 카테고리의 다른 글

    Tuist - 2) Target - 2 예제  (0) 2023.12.08
    Tuist - 2) Target - 1 이론  (0) 2023.11.30