Mac에서 Xcode 캐시 정리하기 (DerivedData, 아카이브, 시뮬레이터)
Mac에서 Xcode 캐시 정리하기 (DerivedData, 아카이브, 시뮬레이터)
iOS 또는 macOS 앱을 빌드한다면, Xcode는 디스크 공간을 가장 빠르게 소모하는 방법 중 하나입니다. DerivedData, 아카이브, 시뮬레이터, SwiftPM 캐시는 저장 공간 개요에서 아무런 경고 없이 수십 기가바이트까지 늘어날 수 있습니다.
이 가이드는 각 폴더의 역할, 안전하게 삭제할 수 있는 항목, 그리고 정리 작업을 자동화하는 방법을 설명합니다. 더 넓은 저장 공간 전략에 대해서는 Mac에서 디스크 공간 확보하는 방법을 참조하세요.
Xcode가 그렇게 많은 공간을 사용하는 이유
Xcode는 여러 독립적인 데이터 범주를 저장합니다:
- DerivedData — 중간 빌드 제품, 인덱스, 모듈 캐시. 안전하게 삭제 가능; Xcode는 다음 컴파일 시 다시 빌드합니다.
- 아카이브 — App Store Connect 및 임시 배포용 릴리스 빌드. 오래된 아카이브는 종종 잊혀집니다.
- 시뮬레이터 — 전체 장치 런타임 이미지. 사용하지 않는 런타임을 제거하면 많은 공간을 확보할 수 있습니다.
- SwiftPM —
.build아래의 체크아웃 및 빌드 아티팩트와 SwiftPM 캐시. - 장치 지원 — 연결된 iOS 장치용 심볼; 더 이상 해당 OS 버전을 테스트하지 않는 경우 이전 버전을 제거할 수 있습니다.
이들 중 어느 것도 “당신의 소스 코드”가 아닙니다. 이들은 재현 가능한 아티팩트이므로, 삭제해도 일반적으로 위험이 낮습니다.
DerivedData 수동으로 정리하기
- Xcode를 종료합니다.
- Finder를 열고 Shift + Command + G를 누릅니다.
- 다음을 붙여넣습니다:
~/Library/Developer/Xcode/DerivedData - 내용을 삭제합니다 (또는 전체 폴더). Xcode가 다시 생성할 것입니다.
또는 Xcode에서: 설정 → 위치 → Derived Data로 이동하여 화살표를 클릭하여 Finder에서 폴더를 엽니다.
오래된 아카이브 제거하기
아카이브는 다음 경로에 있습니다:
~/Library/Developer/Xcode/Archives
각 날짜별 폴더는 Xcode 아카이브입니다. 더 이상 배포하거나 디버그할 필요가 없는 이전 버전의 아카이브를 삭제하세요. 해당 빌드에서 충돌 로그를 심볼화해야 하는 경우 최신 아카이브는 유지하세요.
시뮬레이터 런타임 정리하기
- Xcode → 설정 → 플랫폼 (또는 이전 Xcode에서는 구성 요소)을 엽니다.
- 더 이상 사용하지 않는 iOS/watchOS/tvOS 런타임을 제거합니다.
~/Library/Developer/CoreSimulator 아래의 데이터를 삭제할 수도 있지만, 활성 프로젝트를 손상시키지 않으려면 Xcode를 통해 플랫폼을 먼저 제거하는 것을 선호합니다.
SwiftPM 및 CocoaPods
- SwiftPM:
~/Library/Caches/org.swift.swiftpm아래의 체크아웃 및 프로젝트.build폴더. - CocoaPods:
Pods폴더는pod install로 다시 생성할 수 있습니다.
확실하지 않다면, 프로젝트 내의 큰 폴더를 삭제하기 전에 백업을 유지하거나 버전 관리를 사용하세요.
NythyCleaner로 Xcode 정리 자동화하기
NythyCleaner는 일반적인 개발자 경로를 스캔하고, 각 카테고리가 사용하는 공간을 요약하며, 하나의 워크플로우로 정리할 수 있는 개발자 / Xcode 섹션을 포함합니다. 다음 기능과 함께 사용할 수 있습니다:
안전 점검 목록
- DerivedData 또는 대용량 시뮬레이터 데이터를 삭제하기 전에 Xcode를 닫으세요.
- 의도하지 않는 한
~/Developer또는 프로젝트 폴더를 삭제하지 마세요. - 일치하는 빌드를 업로드하거나 디버그해야 하는 경우 최신 App Store 아카이브를 유지하세요.
요약
| 위치 | 일반적인 내용 | 삭제해도 안전한가요? |
|---|---|---|
| DerivedData | 빌드 출력, 인덱스 | 예 (다시 빌드됨) |
| 아카이브 | IPA/IPA 관련 아카이브 | 예, 더 이상 사용하지 않는 경우 |
| 시뮬레이터 | 런타임 이미지 | 예, 사용하지 않는 런타임 |
| SwiftPM 캐시 | 종속성, 빌드 | 일반적으로 예 |
Xcode 캐시를 정기적으로 정리하면 SSD를 빠르게 유지하고 빌드 중 예기치 않은 “디스크 가득 참” 오류를 방지할 수 있습니다.