Skip to main content

Tuist란?

소개

TuistXcode 프로젝트를 생성하고 유지보수를 편리하게 해주는 명령줄 도구(CLI)입니다. Tuist는 프로젝트 설정을 Swift 언어를 사용하여 정의하며, 이를 통해 프로젝트의 구성 및 유지보수를 단순화합니다. XcodeGen과 유사한 역할을 수행하지만 XcodeGenYAML 또는 JSON 파일을 사용하여 프로젝트를 설정합니다.

장점

  1. 프로젝트 협업: 여러 개발자가 협업하는 환경에서 Tuist를 사용하면 xcodeproj 또는 xcworkspace 파일을 공유하지 않아도 됩니다. 이는 충돌 및 병합 문제를 해결할 수 있습니다.
  2. 모듈화 가능: Tuist를 통해 모듈화를 구현할 수 있습니다. 모듈화는 소프트웨어 성능을 향상시키는데 도움이 되며, 효율적인 프로젝트 관리를 가능하게 합니다.
  3. 접근성이 우수: TuistSwift 코드로 프로젝트를 관리하므로 iOS 개발자들에게 높은 접근성을 제공합니다. XcodeGen과 비교하여 더 직관적이며 사용이 편리합니다.

사용 이유

  • 프로젝트 협업 관리: 컴파일 충돌 및 병합 문제를 해결하고 tuist를 사용하면 자동으로 gitignorexcodeprojxcworkspace를 추가하여 협업을 용이하게 합니다.
  • 모듈화의 효과: 모듈화를 통해 개발이 수월해지며 프로젝트를 효율적으로 관리할 수 있습니다.
  • Swift 언어 활용: TuistSwift 언어로 프로젝트를 관리하므로 iOS 개발자에게 익숙하며 직관적으로 프로젝트를 설정할 수 있습니다.

마무리

Tuist를 사용하면 Xcode 프로젝트의 협업 및 관리를 효과적으로 할 수 있습니다. 프로젝트 협업에서 발생하는 문제를 해결하고, 모듈화를 통해 개발을 용이하게 만들며, Swift 언어를 활용하여 프로젝트를 설정하는 등 다양한 장점이 있습니다. TuistXcodeGen과 비교하여 높은 접근성을 제공하며, iOS 개발자들에게 유용한 도구 중 하나입니다.

질문

xcodeproj? xcworkspace? 무엇인가요?

xcodeproj는 프로젝트는 프로젝트 설정 파일들이 들어있는 디렉토리
xcworkspace는 workspace와 프로젝트들에 대한 설명하는 파일이 들어 있는 디렉토리 입니다.

위 파일들은 사용자마다 파일을 열 때 세팅이 다르거나 주소가 다르면 에러가 발생할 수 있는 파일입니다. 예를 들어, 당신이 info.plist의 경로를 변경했다면, 협업하는 동료가 프로젝트를 가져와서 사용할 때 info.plist 관련 오류가 발생할 것입니다. 이는 파일 경로가 "junha/위치/info"로 설정되어 있어 협업자가 같은 프로젝트 세팅을 가지고 있지 않으면 발생하는 문제입니다.

이를 해결하기 위해서는 위 두 파일을 커밋하지 않는 방법이 있습니다.