sookim-1

번호 : 029, 작성일자: 2024-08-19

2024.08.12 ~ 2024.08.18

⚙️ Tuist


기존프로젝트에 Tuist를 적용하기 위해서 준비할 파일들은 Default에서 변경된 값이 있다면 Info.plist, xcconfig 파일이 있다.

Info.plist를 추출하기 편리하게 하기 위해 Xcode Target - Build Setting - Generate info.plist File을 No로 설정한 후 Info탭에 존재하는 키값들을 Xcode Navigator영역에 존재하는 Info.plist로 옮겨주었다.

# Target 빌드 셋팅 추출
$ tuist migration settings-to-xcconfig -p Project.xcodeproj -t MyApp -x MyApp.xcconfig

# 프로젝트 빌드 셋팅 추출
$ tuist migration settings-to-xcconfig -p Project.xcodeproj -x MyAppProject.xcconfig

해당 명령어를 통해 xcconfig파일을 추출했다.

  • .gitignore에 .xcodeproj, .xcworkspace, Derived/ 를 추가한 후 Project.swift를 작성했다.
  • 간단히, Tuist Project의 Sources와 Resources 매개변수는 각각 Compile Sources, Copy Bundle Resources에 추가되기 때문에 프로젝트의 파일분리가 잘되어있지 않은 경우, 와일드카드를 활용하여 해결할 수 있다.
  • 파일이 삭제할 때 제대로 삭제되지 않은 경우, Xcode Navigator 영역에 표시되지 않는 미추적되는 파일들은 제외하거나 삭제해줘야 한다.
  • TargetScript를 작성할 때 script를 직접 작성하여 추가할 지, script파일을 만들어 연결을 시킬지는 각각 장단점이 있는 것 같다. script를 직접 작성하면 Xcode에서 바로 확인 할 수 있는 부분이 좋은 것 같지만 변경사항이 제대로 적용되지 않는 것 같다.
    • Swift Package Plugin - Build Tool Plugin을 사용하는 경우 Tuist Target에서 Dependency 인자에 plugin을 추가해줄 수 있다.

의존성관리도구로 CocoaPods, Carthage를 사용하지 않고 프로젝트파일들이 Swift파일로 구성되어 있는 경우, 큰 어려움이 없이 Tuist를 적용할 수 있었다.

Tuist에 관련된 글을 작성한 블로그 글 중 해외와 국내 비중을 계산하면 국내 비중이 월등히 높은 것 같다. 또한, 몇몇 글 중 Tuist 관련 객체 초기화메서드를 Custom해서 사용하는 글들이 많았는 데, 중복되는 부분들을 반복해서 작성하지 않아서 좋은점도 있지만, 메서드를 확인하여 어떤 부분들을 변경했는 지 확인하는 부분들은 불편한 것 같다. 상황에 따라 유용한 방법을 사용해야 겠다.

🙋🏻‍♂️ 기타 사항


  1. 링크드인에 🔗 블로그 게시글에 잘못된 내용을 포함해도 되는이유에 관한 업데이트를 작성했다.
  2. 🔗 코딩도우미 유튜브 채널에 올라오는 Medium관련 글들 중 유용한 글들을 나의 Medium List에 추가했다.
태그: