프로젝트와 dSYM을 잃지 않고 Mac에서 Xcode를 완전히 제거하는 방법
AskClean 팀 · 업데이트 2026-09-01
Xcode를 완전히 제거하기 전에 소스 프로젝트를 백업하고 배포 중인 빌드 분석에 필요한 Archives와 dSYM을 보존하세요. 그다음 앱을 휴지통으로 옮기고 DerivedData, 시뮬레이터, DeviceSupport, 명령줄 도구를 각각 검토합니다.

제거 전에 다시 만들 수 없는 데이터 보호하기
프로젝트 폴더는 Xcode 잔여 파일이 아닙니다. 저장소, 커밋하지 않은 파일, 로컬 패키지와 에셋을 백업하세요. App Store, TestFlight 또는 고객 환경에서 사용 중인 빌드의 Archives/dSYM과 필요한 시뮬레이터 상태도 보존해야 합니다.
- 먼저 Xcode를 종료하세요. Xcode가 실행 중일 때 DerivedData를 지우면 인덱서가 꼬일 수 있고, Xcode가 열어 둔 파일은 깔끔하게 지워지지 않을 수 있습니다.
- 폴더 위치를 찾으세요. Xcode에서 Settings > Locations를 열고 DerivedData 경로 옆의 작은 화살표를 클릭하면 Finder에서 열립니다. 또는 Finder에서 Command-Shift-G를 누르고 ~/Library/Developer/Xcode/DerivedData를 직접 입력하세요.
- 프로젝트 하위 폴더를 크기순으로 정렬해 지울 것을 선택하고(전부 지우려면 Command-A), 휴지통으로 옮기세요. 휴지통을 먼저 거치는 것이 더 안전한 습관입니다 — 마음이 바뀌면 즉시 복원할 수 있으니까요.
- 터미널로 하려면 rm -rf ~/Library/Developer/Xcode/DerivedData 한 줄로 전부 삭제됩니다. 아주 큰 폴더는 Finder보다 빠르지만, 사용 전에 아래 안내를 꼭 읽으세요.
- Xcode를 다시 열고 빌드하세요. 각 프로젝트의 첫 빌드는 눈에 띄게 오래 걸리고, 활동 표시줄에 "Indexing"이 한동안 표시됩니다 — 둘 다 한 번만 치르는 비용입니다.
rm -rf는 조심하세요. 휴지통을 거치지 않고 영구 삭제하며 되돌릴 수 없습니다. 경로를 정확히 입력하고, 이 작업에 sudo는 절대 쓰지 마세요. 터미널이 익숙하지 않다면 Finder 방식이 같은 일을 되돌릴 수 있게 해 줍니다.
DerivedData 삭제하기
방법은 세 가지이고 결과는 같습니다. Xcode의 Clean Build Folder 명령(Product > Clean Build Folder, 또는 Command-Shift-K)은 현재 열린 프로젝트의 빌드 산출물만 지웁니다 — 이상한 빌드 오류를 고칠 땐 유용하지만, 디스크 용량엔 거의 티가 나지 않습니다. 진짜 공간을 되찾으려면 DerivedData 폴더 자체를 삭제해야 합니다.
프로젝트별로 지우는 것이 정밀한 방법입니다. 매일 빌드하는 두세 개 프로젝트의 DerivedData는 남기고 나머지 폴더만 지우세요. 통째로 지우는 것은 빠른 방법이고, 그것도 괜찮습니다 — 다만 모든 프로젝트에서 한꺼번에 전체 재빌드 비용을 치르게 됩니다.
처음 설치한 방식으로 앱 제거하기
Xcode와 Simulator를 종료한 뒤 올바른 Xcode.app을 Finder에서 휴지통으로 옮깁니다. /Library/Developer/CommandLineTools는 자동으로 삭제하지 마세요. Git, Homebrew, clang과 빌드 스크립트가 계속 사용할 수 있습니다.
패키지 관리자 캐시 (SwiftPM, CocoaPods, npm, Homebrew)
패키지 관리자는 다음 설치를 빠르게 하려고 그동안 내려받은 모든 의존성을 보관합니다. 훌륭한 엔지니어링이지만 디스크 위생에는 나쁩니다. 캐시는 늘기만 하고, 몇 년치 프로젝트를 거친 머신에서는 조용히 10-20 GB까지 쌓입니다. 전부 지워도 안전합니다 — 최악의 경우라 해 봐야 다음 설치 때 패키지를 다시 내려받는 것뿐입니다.
Swift Package Manager는 내려받은 패키지를 ~/Library/Caches/org.swift.swiftpm에 캐시하고, 각 프로젝트의 체크아웃은 해당 DerivedData 폴더 안에도 있습니다 — 그래서 DerivedData를 지우면 그것들은 이미 함께 지워집니다. 공유 캐시는 Finder에서 지우거나 해당 경로에 rm -rf를 쓰면 됩니다.
휴지통을 비우기 전에 확인하기
Applications, 실행 중인 프로세스, xcode-select -p를 다시 확인합니다. 프로젝트와 필요한 Archives/dSYM, 시뮬레이터 데이터가 남아 있는지 확인한 후 휴지통을 비우세요. System Data 표시는 늦게 갱신될 수 있습니다.
완전 제거 안전 점검표
Xcode를 안전하게 제거하고 재생성 가능한 캐시, Archives, DeviceSupport, 시뮬레이터 데이터, Command Line Tools를 따로 판단합니다.
| 결정 | 확인 또는 작업 위치 | 영향과 검증 |
|---|---|---|
| 제거 전에 다시 만들 수 없는 데이터 보호하기 | Projects / Xcode Organizer / Archives | 프로젝트 폴더는 Xcode 잔여 파일이 아닙니다. 저장소, 커밋하지 않은 파일, 로컬 패키지와 에셋을 백업하세요. App Store, TestFlight 또는 고객 환경에서 사용 중인 빌드의 Archives/dSYM과 필요한 시뮬레이터 상태도 보존해야 합니다. |
| 처음 설치한 방식으로 앱 제거하기 | /Applications/Xcode.app / Finder | Xcode와 Simulator를 종료한 뒤 올바른 Xcode.app을 Finder에서 휴지통으로 옮깁니다. /Library/Developer/CommandLineTools는 자동으로 삭제하지 마세요. Git, Homebrew, clang과 빌드 스크립트가 계속 사용할 수 있습니다. |
| 휴지통을 비우기 전에 확인하기 | xcode-select -p / Activity Monitor | Applications, 실행 중인 프로세스, xcode-select -p를 다시 확인합니다. 프로젝트와 필요한 Archives/dSYM, 시뮬레이터 데이터가 남아 있는지 확인한 후 휴지통을 비우세요. System Data 표시는 늦게 갱신될 수 있습니다. |
자주 묻는 질문
~/Library/Developer 전체를 삭제해도 되나요?
안 됩니다. 재생성 가능한 DerivedData뿐 아니라 Archives/dSYM, DeviceSupport, runtime과 시뮬레이터 상태도 함께 들어 있으므로 범주별로 판단해야 합니다.
DerivedData를 삭제해도 안전한가요?
네 — Mac에서 할 수 있는 대용량 삭제 중 가장 안전한 축에 듭니다. DerivedData에는 Xcode가 소스에서 생성한 파일만 들어 있습니다. 빌드 산출물, 모듈 캐시, 인덱스, 로그입니다. 코드, 프로젝트 파일, git 히스토리는 다른 곳에 있어 전혀 영향받지 않습니다. 유일한 결과는 각 프로젝트의 다음 빌드가 전체 재빌드가 되고 인덱싱이 다시 도는 것뿐입니다.
DerivedData는 얼마나 자주 비워야 하나요?
정해진 주기는 없습니다 — 신경 쓰일 만큼 커졌을 때 비우면 되고, 활발히 개발하는 사람 기준으로 한두 달에 한 번 정도입니다. 반드시 비울 만한 순간이 두 번 있습니다. 디스크 공간이 급히 필요할 때, 그리고 프로젝트가 설명할 수 없는 빌드 오류나 낡은 코드 완성을 보일 때 — 이때 DerivedData 삭제가 표준적인 첫 처방입니다.
참고 자료