Git, CocoaPods, Xcode, Shell

[iOS - swift] Xcode의 Clean build, Clean build folder, DerivedData 클린 빌드 개념, 캐시 관리

jake-kim 2022. 4. 27. 01:12

Xcode 캐시, DerivedData 폴더

* derived: 파생된

  • xcode는 빌드하면 빌드 결과를 폴더에 저장해놓고, 앞으로 빌드할때마다 그 폴더를 참고하여 캐싱하여 사용하는 방식
  • 폴더의 위치
~/Library/Developer/Xcode/DerivedData
  • MyApp이라는 앱을 빌드한 경우 "cmd + B"

  • DerivedData/ModuleCache.noindex
    • 모듈에 대한 정보를 저장해놓고, Xcode에서는 이 정보를 캐싱하여 사용
    • 모듈화하면 빌드시간이 줄어드는 이유가 여기에 캐싱되기 때문

ModuleCache.noindex 폴더

  • DerivedData/MyApp-fvkmtlk...regogcy
    • 빌드 정보, 인덱스 정보, 심볼 정보, 로그등을 기록
    • info.plist는 XCode에서 정한 값이 아닌 별도의 값임을 주의 (LastAccessedData, WorkspacePath 등을 기록)

MyApp-fvkmtlk...regogcy 폴더

클린 빌드

  • cmd + shift + k
  • 클린빌드 시, 위에서 본 DerivedData/MyApp-fv...cy/Build 안의 내용이 삭제

클린 빌드 전
클린 빌드 후

모든 캐시 삭제

  • 터미널에서 아래 명령어로DerivedData 폴더를 삭제
rm -rf ~/Library/Developer/Xcode/DerivedData

* 참고

https://stackoverflow.com/questions/8087065/xcode-4-clean-vs-clean-build-folder