티스토리 뷰
Tuist 4.7.0 기반
[ 문서 ]
Tuist Docs 를 보면 다음과 같이 나와있다.
1) Cache Warming
Tuist가 종속성 그래프의 각 대상에 대해 해시를 효율적으로 활용하여 변경 사항을 감지합니다. 이 데이터를 활용하여 Tuist는 이러한 대상에서 파생된 이진 파일에 고유한 식별자를 빌드하고 할당합니다. 그런 다음 Tuist는 그래프 생성 시에 원래의 대상을 그에 해당하는 이진 버전으로 원활하게 대체합니다.
이 작업은 "캐시 워밍"이라고 불리며, 로컬 사용이나 Tuist Cloud를 통해 팀원 및 CI 환경과 공유하기 위한 이진 파일을 생성합니다. 캐시를 워밍하는 과정은 간단하며 다음 명령으로 시작할 수 있습니다.
# re-using binaries from previous builds.
tuist cache
팁: 캐시를 워밍하기 위해 별도의 CI 파이프라인을 설정하는 것을 권장합니다. 이렇게 하면 팀의 개발자가 해당 이진 파일에 액세스하여 로컬 빌드 시간을 줄일 수 있습니다.
2) Using the cache binaries
기본적으로 Tuist 명령이 프로젝트 생성을 필요로 할 때, 가능한 경우 캐시에서 종속성을 이진 동등물(binary equivalents)로 자동으로 대체합니다.
또한 특정 대상에 초점을 맞출 경우, 해당 대상에 의존하는 대상도 사용 가능한 경우 이진 파일로 대체합니다.
다른 접근 방식을 선호하는 사람들을 위해 이 동작을 완전히 사용하지 않도록 선택할 수 있는 옵션이 있습니다.
# 프로젝트 생성
tuist generate # 외부 종속성만 binary cahce 로 대체
tuist generate Search # 외부 종속성, Search 종속성 binary cahce 로 대체
tuist generate Search Settings # 외부 종속성, 그리고 Search 및 Settings 종속성 binary cahce 로 대체
tuist generate --no-binary-cache # No cache at all
# 프로젝트 테스트
tuist test
경고: 이진 캐싱은 앱을 시뮬레이터나 장치에서 실행하거나 테스트하는 것과 같은 개발 워크플로를 위한 기능입니다. 릴리스 빌드를 위한 것이 아닙니다. 앱을 아카이브할 때는 --no-binary-cache 플래그를 사용하여 소스와 함께 프로젝트를 생성하십시오.
---
github 워크샵 문서 에도 해당 내용이 있다. 이해가 잘 되니 함께 읽어보길 추천!
ㄴ 10. Focused and binary-optimized projects
[ 명령어 ]
[ 실습 ]
Cache 가 아무 것도 없는 상태에서
cache warming 을 해보자.
tuist cache
이제 캐시 적용해보자
tuist generate
진짜 외부의존성만 바이너리 캐시로 교체한다.
TuistApp 의 의존성을 전부 다 대체하도록 명령어 실행해보자
tuist generate TuistApp
해쉬값도 출력해보자
tuist test 도 한번 돌려보자
cache binaries 를 사용한다고 설명이 잘 나온다.
캐시 안쓴다고 돌려보자
tuist generate --no-binary-cache
다시 원복되었다.
여기서 다시 tuist generate 하면 ?
Alamofire (외부의존성) 만 다시 캐싱됨.
그럼 tuist generate 해도 아무것도 캐싱안하는 걸 기본값으로 다시 두고 싶으면 ?
tuist cache --generate-only
인 줄 알았는데 아니고, clean 을 해줘야함! (참고로 위의 명령어는 이때 필요함)
참고로 바이너리 캐쉬만 지우려면 다음 명령어를 사용하면 됨.
tuist clean binaries
GPT 가 알려주는 tuist cache clean 같은 명령어는 없음 ;;;
아무튼 클린 바이너리 명령어 해주고 generate 하면 이제 외부 의존성도 캐시로 대체 안함 !
근데 clean 해도 hash 값은 계속 나옴..
~/.tuist/Cache 랑 DerivedData 지우고 workspace 지워도 계속 나옴 ;;
--- > 잘못 이해했음 ;;; (슬랙)
[ 참고 - xcframework ]
속도 비교 글
https://kwnstantinosnikoloutsos.medium.com/save-time-with-xcframeworks-c12402abfc35
차이가 많이 난다.. (9배정도)
'🍏 > Tuist' 카테고리의 다른 글
[Tuist] tuist scaffold (Template 으로 모듈 자동생성) (0) | 2024.10.02 |
---|---|
[Tuist] StaticFramework 와 Preview (4) | 2024.04.09 |
[Tuist] iOS 에서 Dynamic Library (dylib) 를 직접 만들 수 있는가 ? (2) | 2024.03.29 |
[Tuist] 프로젝트 만들기 (4.7.0 버전) (7) | 2024.03.26 |
- Total
- Today
- Yesterday
- ipad multitasking
- 장고 Custom Management Command
- flutter deep link
- Django FCM
- METAL
- Django Firebase Cloud Messaging
- ribs
- Flutter Text Gradient
- github actions
- SerializerMethodField
- 플러터 싱글톤
- Sketch 누끼
- Flutter 로딩
- flutter build mode
- Flutter getter setter
- drf custom error
- cocoapod
- 구글 Geocoding API
- flutter dynamic link
- DRF APIException
- flutter 앱 출시
- Flutter Spacer
- Dart Factory
- Python Type Hint
- Flutter Clipboard
- Watch App for iOS App vs Watch App
- Django Heroku Scheduler
- 장고 URL querystring
- PencilKit
- 플러터 얼럿
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |