Tuist
-
What's new in Tuist v4Tuist 2024. 7. 4. 18:45
안녕하세요. 그린입니다 🍏이번 포스팅은 Tuist v4로 오면서 기존 v3에서 어떤것들이 변경되었는지 한번 공식문서를 통해 살펴보려 합니다 🙋🏻 Tuist v4로 넘어오면서 몇가지 변경사항들이 생겨났고 이를 통해 프로젝트를 더 편하게 관리하고 유지하기 쉬워졌습니다. 어떤것들이 변경되었는지 주요 사항들을 살펴보시죠! tuistenv를 통한 버전 관리 방법의 삭제Tuist v3까지는 설치 스크립트가 tuistenv라는 툴을 설치했습니다.tuistenv는 특정 버전의 Tuist를 설치하고 활성화하여 환경 간 일관성을 보장해주는 역할을 했습니다.즉, 버전 관리를 해준것이죠.그런데 이제는 Tuist의 기능 범위를 줄이기 위해서 tuistenv를 제거하고, 동일 역할을 하지만 더 유연하고 다양한 도구에 사용..
-
Tuist v4 설치 및 사용 (with. 자동화)Tuist 2024. 7. 1. 18:52
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Tuist v4을 기준으로 설치하고 간단히 사용하는 방법에 대해 학습해보겠습니다 🙋🏻 Tuist v4프로젝트를 관리하며 모듈화에 도움을 주는 우리 익숙한 Tuist가 3 버전대에서 4 버전대로 오면서 변화가 생겼죠.로고가 바뀌었을뿐만 아니라, 기존 curl이나 homebrew등을 이용해 설치하였던 Tuist가 이제는 mise를 이용해 설치하라고 권장하고 생겨났습니다😃 물론, 아직까지도 homebrew 및 다양한 방법으로 설치할 수 있지만 mise를 활용하라고 권장하네요.mise는 마이스? 마이즈로 읽는줄 알았는데 미즈라고 읽더라구요 ㅎㅎ 뿐만 아니라, 프로젝트 생성을 위한 의존성들을 관리하는것들과 타겟 및 프로젝트 생성을 위해 작성하던 코드들의 일부분도..
-
Tuist의 Configuration 설정하기Tuist 2023. 5. 18. 14:06
안녕하세요. 그린입니다🍏 이번 포스팅에서는 Tuist의 Configuration을 알아보고 각 개발 환경을 분리하여 설정해보도록 하겠습니다🙌 들어가기 전 필요 개발 환경 체크 기본적으로 프로젝트는 DEBUG와 RELEASE의 flag 즉, build configuration을 가지게 되는데요. 각자 만들고 있는 프로젝트의 성향에 따라 다르겠지만 여기서 QA configuration도 추가하여 사용될 수 있습니다. 실제 저는 총 3개의 configuration을 설정하는데요. 하나는 내부 개발의 배포를 위한 DEV, 또 하나는 실제 프로덕트 출시 전 QA를 위한 QA, 마지막으로 실제 상용 배포를 위한 RELEASE로 나눌 수 있습니다. 자, 그럼 이 3개의 configuration을 Tuist를 통해 어..
-
Multiple commands 에러 바로잡기 (feat. GoogleService-Info.plist)Tuist 2023. 5. 4. 13:41
안녕하세요. 그린입니다🍏 이번에는 간혹 한번쯤 보셨을 Multiple commands 에러에 대해 파악해보고 바로잡는 실무에 가까운 포스팅이 될 것 같아요🙋🏻 우선, 저는 Tuist를 통해 프로젝트를 구성하고 생성해주는데 이때 Prod / Dev / QA 총 3개로 타겟 및 스킴을 나누고 워크스페이스를 구성해줍니다. 요 경우에 entitlement 파일이라던지 아니면 흔히 사용되는 Firebase의 config 설정을 위해 GoogleServiceInfo.plist 파일을 구성해주고 리소스에 심어주게 되는데요. 이때 리소스 폴더 내 각 총 3개의 GoogleServiceInfo.plist 파일이 생기고 이를 리소스로 동일하게 가져가려하니 에러가 납니다. 그래서 이번 포스팅에서는 GoogleServiceI..
-
Tuist에서 Firebase Crashlytics 설정하기Tuist 2023. 4. 27. 10:39
안녕하세요. 그린입니다🍏 이번 포스팅에서는 저번 Tuist에서 SwiftLint를 가볍게 사용하는것과 마찬가지로 Firebase Crashlytics를 타겟 build script에서 어떻게 구성하는지 알아보겠습니다🙌 이번 포스팅은 매우 간단하지만 핵심적인 부분이 있습니다🔥 Tuist를 사용하지 않는 형태에서 기존 방식 우선 기존 Tuist를 사용하지 않고 외부 라이브러리들을 앱 타겟들에서 직접 관리하고 넣어줄때는 이런식으로 사용할 수 있었어요🙋🏻 보시면 Firebase Crashlytics를 run 시키기 위한 경로가 Build Dir로 부터 SourcePackages내 쭈주죽 경로가 이어져 있죠!? 즉 지금 해당 앱 타겟에 실제 SPM이든 Pod이든 관리되고 가져왔기에 현재 앱 타겟이 최상위 경로가 ..
-
Tuist를 통해 SwiftLint 사용하기Tuist 2023. 4. 25. 11:56
안녕하세요. 그린입니다🍏 이번 포스팅에서는 Tuist로 환경 구축을 하며 코드 및 파일 컨벤션을 잡아주기 위한 SwiftLint를 도입하면서 조금 더 라이트하게 사용해보려합니다🙋🏻 우선, swiftLint는 많이들 사용할것 같은데요. brew로 swiftLint를 설치해줄 수 도 있고, CocoaPods이나 Mint로 해당 SwiftLint 라이브러리를 설치 후 사용할 수 있습니다. 그런데 이러한 과정들은 해당 SwiftLint를 모두 의존성 설치하고 가져와서 사용하는 경향이 있어 Tuist를 사용하면서 조금 더 라이트하게 필요한 부분만 가져와 실제 brew, Cocoapods, Mint로 설치 한 후 사용하지 않는 방법을 도입해봤습니다😃 아주 간단명료하니 한번 따라가보시죠! Tuist를 구축하며 Swi..
-
Tuist - Custom Flags 다루기Tuist 2023. 4. 18. 16:50
안녕하세요. 그린입니다🍏 이번 포스팅에서는 Tuist를 설정해주면서 삽질한것중 하나를 공유해볼까해요🙋🏻 우선 주제는 Custom Flags입니다. 다들, Debug / Relase라는 기본 swift compiler flag가 있다는것을 아신다는 가정하에 주절주절 해볼께요! Custom Flag 삽질하기 Tuist를 통해 저는 하나의 프로젝트에 Prod, Dev, QA 타겟을 두고 이 타겟들을 각각의 스킴으로 만들어서 관리하는 도중 실제 사용 코드에서 전처리가 필요한 경우가 발생했습니다. 예를들어, Dev, QA, Prod의 API host url이 다르거나 프리뷰를 띄워주거나 하는 것들에서 실제로 해당 플래그를 사용해 아래와 같이 전처리를 해주곤 하죠. #if DEBUG print("디버깅~") #el..
-
Tuist에서 Lottie 리소스 설정하기 (with. JSON)Tuist 2023. 4. 13. 09:42
안녕하세요. 그린입니다🍏 이번 포스팅에서는 Tuist를 통해 Lottie 구현을 위한 리소스 설정을 해보고 그걸 사용해볼까 합니다🙌 우선 Lottie가 무엇인지 아주 간략하게 짚어볼까요? Lottie 간략하게 짚고 넘어가기 Lottie는 에어비엔비에서 만든 라이브러리로, 기본적으로 벡터 기반 애니메이션과 아트를 최소한의 코드로 실시간 렌더링 해주는 iOS/AOS에서 모두 지원 가능한 모바일용 라이브러리입니다! Bodymovin JSON 형식으로 내보내진 애니메이션과 벡터를 로드해 렌더링 해줘요. 여기서 오늘 우리가 다뤄볼것이기도 한데요. JSON 형식으로 Lottie 리소스 파일이 구성되어 있다~ 정도만 여기선 알면 될것 같습니다.ㅎㅎ 그 JSON 파일을 리소스로 받아 우리는 애니메이션을 만들어볼거다! ..