티스토리 뷰
Tuist 튜토리얼 이 major version 3 기준이라서
초기 만들어지는 파일이나 폴더가 major version 4 랑 많이 다르다.
동료분과 Tuist 팀의 도움으로 겨우 4.7.0 기반 프로젝트 만들기 성공함 🥹
3과 달리 4는 한땀한땀 직접 추가해야하는 경우가 많아서 기록해둠
[1] Tuist 4 버전대 설치
Installation 가이드 보고 mise 설치 후, tuist 설치 해주면 된다.
나는 옛날에 mise 말고 다른 툴로 tuist 3 버전대를 설치했어서
이 이슈로 시간 많이 잡아먹음 ;;
(tuist install 명령어를 통해 외부 의존성을 설치하겠다는 건데 명령어가 충돌나서 tuist 자체를 설치하려고 했던 기억)
답변에 있는 것 처럼 uninstall 하고 mise 로 다시 설치하면 된다.
어케 저케 꼬여가지고 mise 도 uninstall 한번 했는데
mise 문서 보면 uninstall 이 아니라 implode 를 지우는 명령어로 사용하고 있다는 점 유의!
[2] 빈 폴더 만들고 Tuist 버전 지정하기
빈 폴더를 만들고 진입한다.
tuist 버전이 여러개인 경우 ( ~/.local/share/mise 들어가서 확인 가능)
tuist 버전을 반드시 지정해준다.
나는 맨 위 명령어를 사용해줬다.
mise use tuist@4.7.0
[3] 프로젝트 만들기
아래 명령어로 프로젝트를 만들어준다.
tuist init --platform ios
그럼 이렇게 SwiftUI 기반의 앱이 만들어진다.
UIKit 기반의 앱을 만드는 옵션이 없는 것 같아서 여쭤보니까
UIKit 기반으로 앱을 만들고 그 다음에 tuist 를 설치하라고 하셨다.
Project.swift 는 이렇게 구성되어있다.
3 버전대와 다르게 Project+Templates.swift 는 만들어지지 않는다!
[4] 프로젝트 구조 잡기
아래 명령어를 실행해서 프로젝트 구조를 세팅해주자
tuist edit
tuist generate 명령어를 실행시키면 (아래 단계)
여기 manifests 를 기반으로 workspace 를 만들어주게 될 것이다.
Project structures 가이드를 보고 동일하게 구성해주자
우선 Projects 폴더를 만들어주자
일단 App 하나만 구성해보자
Projects 에 TuistApp 을 통째로 옮겨오고 project.swift 도 여기 넣어주자
(프로젝트 별로 project.swift 파일이 있어야한다)
그리고 경로가 바뀌었으니 TuistApp/ 되어있는 부분도 지워준다.
(sources, resources 부분)
그다음 Tuist 폴더를 만들어주고 필요한 파일들을 추가해준다
Config.swift 는 이니셜라이저에 디폴트값이 다 되어있으니 이렇게만 일단 추가해줬다.
Pacakge.swift 도 일단 최소한으로만 작업해준다.
(참고로 3번 라인 까지만 쓰면 tuist install 시 에러가 난다)
그다음 workspace.swift 를 루트에 추가해준다.
[4] 워크스페이스 만들기
tuist install 을 먼저 해준다. (아무 의존성이 없어도 tuist install 을 하라고 에러가 뜨기 때문)
tuist install
아래 명령어로 워크스페이스를 만들어준다.
tuist generate
참고로 이런 에러가 뜬다면 Projects 밑에 폴더가 잘 옮겨졌는 지를 확인해봐야한다.
빨간 에러에 포커싱해서 debug config 를 추가해주려고 하면 안된다. (이 문제가 아니다)
[5] 내부 의존성 추가해보기
아래 명령어 실행
tuist edit
Projects > TuistUI 폴더 만들고
Project.swift 파일 추가
이 명령어 돌리면
tuist generate
Derived 랑 proj 생김
workspace 에도 생겨있음
Sources > CommonView 만들어줌
다시 아래 명령어
tuist edit
TuistUI 에는 sources 명시
TuistApp 은 디펜던시 명시
아래 명령어 실행
tuist generate
확인
확인
[ 여쭤보기 ]
framework 는 경로를 이상하게 찾는듯?
.framework(path: "../TuistUI")
[6] 외부 의존성 추가해보기
Tutorial > Adding external Dependencies 코드 복사 (import ProjectDescriptionHelpers 빼고)
tuist 가 SPM으로 받아와서 framework 로 재구성해주는 것이라고 함!
tuist install
Package.resolved 가 Tuist 폴더에 추가되는 것을 볼 수 있음
외부 의존성 넣고
tuist generate
확인
tuist generate 를 3,4번 하니까 그제야 Dependencies 가 생기고 import 성공했음;;
아무튼 확인
'🍏 > iOS' 카테고리의 다른 글
[Tuist] Cache (10) | 2024.04.08 |
---|---|
[Tuist] iOS 에서 Dynamic Library (dylib) 를 직접 만들 수 있는가 ? (1) | 2024.03.29 |
[iOS] @dynamicCallable 유용한 예제 모음 (4) | 2024.03.16 |
[Xcode] Instruments - Swift Concurrency (1) | 2024.03.11 |
[Xcode] Instruments 로 Hang 개선하기 (8) | 2024.03.08 |
- Total
- Today
- Yesterday
- Django Heroku Scheduler
- flutter build mode
- METAL
- flutter deep link
- 플러터 싱글톤
- Django Firebase Cloud Messaging
- ipad multitasking
- Flutter getter setter
- flutter dynamic link
- Sketch 누끼
- Flutter Spacer
- 장고 Custom Management Command
- Flutter 로딩
- Flutter Clipboard
- Python Type Hint
- 플러터 얼럿
- 장고 URL querystring
- Watch App for iOS App vs Watch App
- Dart Factory
- Django FCM
- github actions
- ribs
- SerializerMethodField
- Flutter Text Gradient
- DRF APIException
- drf custom error
- flutter 앱 출시
- 구글 Geocoding API
- PencilKit
- cocoapod
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |