일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Mock
- 아이폰
- NumberFormatter
- @available
- View Life Cycle
- Codegen
- 스위프트
- Structures and Classes
- 부트캠프
- Failed to register bundle identifier
- contentInset
- Navigation
- 책후기
- NotificationCenter
- SWIFT
- UIResponder
- Modality
- xcode
- 독서후기
- human interface guidelines
- 독후감
- SWIFTUI
- viewcontroller
- 야곰아카데미
- roundingMode
- mvvm
- Info.plist
- 스타트업주니어로살아남기
- delegation
- IOS
- Today
- Total
호댕의 iOS 개발
[Tuist] Tuist를 통해 파일 생성하기 본문
Tuist는 Xcode 프로젝트를 생성 및 관리해주는 도구로 최근 모듈화와 함께 많이 들어본 툴이었다.
이번 넥스터즈 프로젝트를 진행하면서 Tuist를 통해 프로젝트를 관리하도록 정해서 Tuist의 셋팅 과정을 기록해보려고 한다.
공식문서에도 처음 시작 관련해선 설명이 잘 나와있다.
https://docs.tuist.io/tutorial/get-started
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을 볼 수 있다.
구체적인 셋팅은 다음 포스팅에 나눠서 적어보도록 하자...
'Software Engineering > iOS' 카테고리의 다른 글
[WWDC] WWDC 2023 키노트를 보고 (0) | 2023.06.09 |
---|---|
[iOS] 사용자에게 어떻게 리뷰를 받을 수 있을까? (+ SKStoreReviewController) (3) | 2023.04.20 |
[SwiftUI] 2. SwiftUI에 대해 더 알아보기 (Stanford CS193P) - LazyVGrid, CustomView, ScrollView 등등 (0) | 2023.01.17 |
[SwiftUI] 1. SwiftUI 시작하기 (Stanford CS193P) - some View (0) | 2023.01.15 |
[iOS] 제너럴하게 사용할 수 있는 Custom PickerView를 구현해보자 (2) | 2023.01.01 |