-
Swift / iOS앱 Tuist 적용기ios 2023. 2. 22. 15:38
배경
협업 시 간혹 발생하던 conflict 해결과
장기 목표였던 모듈화를 위해, 프로젝트 관리 도구가 필요했다.단계
- 현 프로젝트 설정값 xcconfig로 추출
- 오픈 소스 의존성 관리 도구 이전 AS-IS) CocoaPods TO-BE) Swift Package Manager
- 프로젝트 Tuist 적용후기
기본적으로 알아야 하는 것이 많아 러닝 커브가 높은 편이었다.
"It defines not only the source files to include and how to build them, but the app's dependencies, entitlements, build settings, and everything needed to take the project from sources & settings to an actual app on your phone." - https://www.runway.team/blog/xcode-project-generation
타겟, 워크스페이스, 프로젝트, 라이브러리, 프레임워크, 패키지, 디펜던시와 의존성 관리 도구 등등 ... 프로젝트와 관련된 전반적인 것들을 파악해야 했다.
외에도 의존성 관리 도구를 이전하고 Tuist의 Dependency로 적용하는 데에도 애를 먹었으며
결과적으론 오픈 소스 라이브러리들을 SPM, Carthage, XCFramework로 가져오게 됐다.-> 이후 Carthage, XCFramework 도 SPM 방식으로 변경함
시작할 땐 막막했지만 참고할 자료들이 꽤 있어 도움을 받아가며 할 수 있었고, 이후로는 소스 코드 내에서 구분한 레이어 별로 모듈화를 진행할 것이다.
참고 및 도움 받은 링크
'ios' 카테고리의 다른 글
iOS - SNS 간편 로그인 (네이버 간편 로그인, 네아로) 심사 리젝 reject (0) 2023.05.22 iOS - 접근성, Voice over, custom UIAccessibilityElement (0) 2023.03.15 Compositional Layout, Unable to simultaneously satisfy constraints. (0) 2022.11.27 diffable datasource Error - Inconsistent associations for moves 에러 (0) 2022.11.26 NSMutableAttributedString extension (0) 2022.07.05