Tuist
-
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 파일을 리소스로 받아 우리는 애니메이션을 만들어볼거다! ..
-
Tuist 도입으로 swiftGen 겉어내기 (with. TuistGenerator)Tuist 2022. 7. 18. 11:08
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Tuist를 도입함으로 TuistGenerator를 통해 에셋 등의 리소스 관리를 제공해줌으로 기존 사용하던 swiftGen을 걷어내며 어떻게 대체하여 사용하는지 학습해보겠습니다🙌 혹시 Tuist가 무엇인지 선행이 필요하시다면 요 아래를 참고해주세요! https://green1229.tistory.com/262 Tuist 안녕하세요. 그린입니다🟢 이번 포스팅에서는 대망의 Tuist에 대해 알아보고 도입해보겠습니다🙌 우선 다들 Tuist에 대해 들어보셨나요? 현업에서 프로젝트를 하고 계시다면 아마 사용하던 안하 green1229.tistory.com 참고로 swiftGen은 R.swift처럼 에셋 리소스를 코드화 시켜 관리하고 사용할 수 있도록 도와주는 라이브러리..
-
TuistTuist 2022. 7. 11. 07:59
안녕하세요. 그린입니다🟢 이번 포스팅에서는 대망의 Tuist에 대해 알아보고 도입해보겠습니다🙌 우선 다들 Tuist에 대해 들어보셨나요? 현업에서 프로젝트를 하고 계시다면 아마 사용하던 안하던 한번쯤 들어봤을수 있습니다. 이 Tuist가 왜 다들 그렇게 필요하다고하고 좋다고 하는지 이번 포스팅에서 확실히 정리해볼께요! Tuist란? Tuist는 한마디로 정리하자면 Xcode 프로젝트를 생성하고 유지관리를 해주는데 도움을 주는 커맨드 도구입니다. XcodeGen이라는 녀석과 양대산맥이죠. 예전에 제 포스팅에서 SwiftGen과 R.Swift를 다룬적이 있는데요. 여기서도 마찬가지로 적용되요. 즉, XcodeGen은 yml 혹은 json 언어 파일로 만들어줘야하고 그와 반면 Tuist는 이러한 명령을 swi..