DerivedData
Last updated
Last updated
경로: ~/Library/Developer/Xcode/DerivedData
역할: Xcode가 빌드 과정에서 생성하는 중간 결과물, 인덱스, 캐시 파일 등을 저장하는 디렉터리
목적:
빌드 속도를 높이기 위해 이전 빌드 결과를 재사용
xcodebuild 실행 시
DerivedData folder 에 빌드 파일 생성됨
프로젝트 내 코드 검색 및 탐색 속도 향상
모듈 캐싱을 통해 불필요한 중복 컴파일 방지
CI jobs 실행 시 DerivedData 캐시 사용 가능
설명: 기존 빌드 결과물을 저장하여 이후 빌드 시 재사용
설명: 프로젝트 내 코드 검색 및 탐색 기능을 위해 생성된 인덱스 파일
설명: Xcode가 미리 컴파일된 모듈 파일(.pcm
)을 저장하여 모듈 의존성을 빠르게 해결
설명: 빌드 및 실행 로그를 저장하여 디버깅에 활용
Xcode가 과거 빌드 오류를 포함한 상태로 빌드할 수 있음
✅ 해결: Derived Data 삭제 후 클린 빌드 수행
시간이 지나면서 캐시된 파일이 불필요하게 용량을 차지
✅ 해결: 일정 주기로 캐시 정리
Flutter 패키지 또는 플러그인을 업데이트하면 기존 모듈 캐시와 충돌 가능
✅ 해결:
Derived Data 재사용:
빌드 속도를 높이기 위해 캐시를 유지하되, 문제가 발생하면 초기화
캐시 삭제 후 클린 빌드:
CocoaPods이 관리하는 패키지들은 기본적으로 Pods/
디렉터리에 설치됩니다.
Podfile.lock
이 변경되지 않았다면, 이전 Pods/
디렉터리를 그대로 재사용하면 불필요한 패키지 다운로드 시간을 줄일 수 있습니다.
캐싱 대상 디렉터리:
목표 : Incremental Builds 개선하기 - Incremental builds란 이전에 빌드한 task중에서 변경사항이 없는 task는 새로 빌드하지 않고 사용하여 빌드하는 것 task는 항상 input과 output을 정의하는데 input과 output의 변경사항이 없으면 Gradle은 새로 빌드하지 않는다