📚Tuist란?
Xcode 프로젝트 생성 및 유지관리를 위한 CLI 도구.
Project.swift 파일 기반으로 .xcodeproj를 생성한다 -> 해당 설정값을 정의함으로 프로젝트 생성 시 정의한 설정값으로 생성
프로젝트 설정값의 오류로 인한 에러를 방지할 수 있음
📙장점
- xcodeproj 파일이 없다.
- 프로젝트를 커맨드 명령어로 그때그때 생성해줘 git에 xcodeproj를 올리지 않는다.
- 프로젝트 파일 경로에 관한 충돌을 피할 수 있다.
- 모듈화가 편리하다.
- 이번 프로젝트에 Tuist를 적용하는 가장 큰 이유
- Project파일을 생성하고, 프로젝트와 타겟을 만들어 주는 메서드 정의로 모듈 세팅이 끝난다.
- 이를 통한 빌드 속도 향상
- 결합도는 낮아지며, 응집도는 높아지는 상태
- 프로젝트 모듈 의존관계 파악이 쉽다.
- 가장 큰 장점중 한가지 -> 의존된 모듈을 찾아가지 않아도 명령어로 이미지를 통해 확인 가능
- Swift언어를 통한 모듈과 프로젝트 설정 정의
📙Project, Target, Workspace
- Target = Project나 Workspace의 파일들을 Build하여 생성되는 EndProduct
- Project
- 모든 파일, 리소스를 빌드하는데 필요한 정보의 저장소
- 프로젝트는 빌드하는 방법을 명시하는 EndProduct인 Target을 하나 이상 포함
- 소스파일에 대한 참조, Structure navigator에서 소스파일 그룹화
- Debug, Release와 같은 Build Configuration 설정 가능
- Workspace
- project 및 리소스를 그룹화 하여 함께 작업할 수 있음
- 다수의 Project를 사용하는 경우, workdpace 하위로 관리
- 각 project의 파일을 구성하는 것 외에 Project들과 Target간의 관계 제공
📙사용방법
참고 : https://eunjin3786.tistory.com/618