이 프로젝트는 Tuist를 이용하여 각 프로젝트를 모듈로 구성하는 형태입니다.
1. Tuist 설치 - 버전 1.50.0 이상
2. Carthage 설치 - 버전 0.38.0 이상
3. Carthage를 이용하여 오픈소스의 XCFramework 생성
$ make carthage
// or
$ ./carthage update --platform iOS --use-xcframeworks --no-use-binaries
4. tuist generate
를 실행하여 프로젝트 파일 생성
$ tuist generate
Tuist를 이용하여 Dependency Graph를 출력할 수 있음.
$ tuist graph # Graph 생성
$ tuist graph -t # 테스트 타겟 제외
$ tuist graph -d # 외부 라이브러리 제외
$ tuist graph -t -f dot # dot 파일로 출력
- tuist/awesome-tuist
- HedvigInsurance/ugglan
- JulianAlonso/MarvelApp
- https://sarunw.com/tags/tuist/
- BendingSpoons/tempura-swift
- fortmarek/ComposableTuistArchitecture
- ronanociosoig/tuist-pokedex
- 클린아키텍처 일부 설계 참고
- layoutBox/FlexLayout
- SwiftUI
- Doric
- https://medium.com/sketch-app-sources/setting-up-a-design-system-8729510def93
- https://ux.mailchimp.com/patterns/color
- https://brennobemoura.medium.com/implementing-a-design-system-compatible-with-uikit-and-swiftui-1c6da34814f0
- W3.org 디자인 패턴 및 위젯
- https://medium.com/swlh/a-swift-yogakit-guide-to-flexbox-fec74e1bffaf
- https://www.raywenderlich.com/530-yoga-tutorial-using-a-cross-platform-layout-engine
- https://yogalayout.com/
- FlexLayout은 FlexLayoutYoga, FlexLayoutYogaKit을 의존성으로 가지는데, 모듈맵에서 제대로 작성되지 않아, FlexLayout 프레임워크의 모듈맵에 FlexLayoutYoga, FlexLayoutYogaKit를 추가하였음. 따라서 수정요소가 있기 때문에 Vendor 경로에 추가함. (모듈맵 코드를 다시 복구 했는데, 또 잘 동작해서 왜 그런지는 모르겠음.)
- PinLayout은 Carthage로 빌드시 TestProjects/swift-package-manager의 프로젝트 파일을 빌드할때 에러나므로, TestProjects를 다 제거하고 Carthage를 실행하면 됨.