호댕의 iOS 개발

[Tuist] Tuist를 통해 파일 생성하기 본문

Software Engineering/iOS

[Tuist] Tuist를 통해 파일 생성하기

호르댕댕댕 2023. 1. 17. 23:01

Tuist는 Xcode 프로젝트를 생성 및 관리해주는 도구로 최근 모듈화와 함께 많이 들어본 툴이었다. 

이번 넥스터즈 프로젝트를 진행하면서 Tuist를 통해 프로젝트를 관리하도록 정해서 Tuist의 셋팅 과정을 기록해보려고 한다. 

 

공식문서에도 처음 시작 관련해선 설명이 잘 나와있다. 

https://docs.tuist.io/tutorial/get-started

 

Get started | Tuist Documentation

Learn how to install Tuist in your environment and generate your first project.

docs.tuist.io

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

이 명령어를 터미널에 입력해주면

이렇게 설치가 된다. 

 

여기서 tuistenv를 설치한다고 나오는데 이는 나중에 tuist로 이름이 바뀐다고 한다. 

그리고 리눅스 명령어를 통해 디렉토리를 생성하고 해당 디렉토리로 이동하면 된다. 

 

mkdir {디렉토리 이름} // 생성
cd {디렉토리 이름} // 이동

그리고 난 이번에 SwiftUI로 프로젝트를 진행할 것이기 때문에 아래 명령어를 입력했다. 

 

// SwiftUI 프로젝트라면
tuist init --platform ios --template swiftui

// SwiftUI가 아니라면 
tuist init --platform ios

그런데 여기서 2시간이나 잡아먹은 문제가 발생한다. 

갑자기 이 에러가 등장한 것이다. 

HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

 

다른 디렉토리에서 다시 tuist를 설치해보고, http 1.1로도 시도해보고, 터미널을 껐다가 켜보기도 했지만...

bash <(curl -Ls --http1.1 https://install.tuist.io)

이 문제는 해결이 되지 않았다. 

계속 동일한 에러가 나왔다... 나는 Tuist를 쓰지 말아야 하는 건가... 라는 생각이 들다가 

 

혹시 네트워크를 바꿔볼까 라는 생각에 집 와이파이가 아니라 핫스팟을 연결해서 다시 시도했더니 잘 된다... ㅎ

이런 문제와 해결 방법은 처음이라 생각치도 못했다... 

 

같은 문제가 발생한다면 네트워크를 바꿔보세요...

 

그리고 생성한 디렉토리는 반드시 비어 있어야 tuist init이 제대로 동작한다.

만약 뭐가 들어있는 디렉토리에서 tuist init을 해주게 되면 non-empty 디렉토리에선 시작할 수 없다고 하니 꼭 빈 디렉토리에서 진행하자. 

 

이렇게 한 후 tuist generate를 하게 되면 생성된 파일이 열리게 된다. 

이때 파일 이름은 카멜케이스를 적용해서 폴더 이름과 동일하게 자동으로 만들어진다. 

프로젝트 설정의 경우 tuist edit을 통해 할 수 있다. 

Manifests에서 Project 파일을 보면 프로젝트 이름과 플랫폼, 종속하고 있는 Target을 볼 수 있다. 

 

구체적인 셋팅은 다음 포스팅에 나눠서 적어보도록 하자... 

 

Comments