주요 콘텐츠로 건너뛰기
Mole
개요 기능 사용 후기 가격 FAQ 블로그
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
바로 구매구매 다운로드

    도움말, 문서, 릴리스, 아티클

    홈/블로그

    릴리스 아티팩트를 잃지 않고 Xcode 정리하기

    개발게시 2026년 7월 12일수정 2026년 8월 8일4분 읽기

    Xcode는 빌드 산출물, 인덱스, 아카이브, DeviceSupport, 시뮬레이터 기기, 다운로드 가능한 플랫폼 런타임 등에 저장 공간을 분산합니다. 일부는 다시 만들 수 있고, 일부는 출시 아카이브나 dSYM의 유일한 복사본입니다. 안전한 방법은 각 항목을 측정한 뒤, 가능하면 Xcode를 통해 제거하고, 출시된 빌드에 묶인 산출물은 보존하는 것입니다.

    Xcode의 기가바이트가 어디에 쌓이는지

    먼저 사용자 수준의 두 가지 주요 루트를 확인합니다.

    du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator 2>/dev/null | sort -h
    

    보통 용량을 많이 차지하는 항목은 다음과 같습니다.

    • DerivedData: 빌드 산출물, 인덱스, 모듈 캐시로, 보통 프로젝트마다 폴더 하나가 생깁니다. 다시 빌드할 수 있지만, 전부 지우면 이후 인덱싱과 빌드가 비싸집니다. 오래된 프로젝트부터 정리하는 편이 낫습니다.
    • DeviceSupport: 실제 기기와 OS 빌드에 대해 수집한 심볼 및 지원 산출물입니다. 오래된 항목도 크래시 심볼리케이션에 여전히 필요할 수 있습니다.
    • Archives: 앱을 내보내거나 배포할 때마다 저장된 빌드입니다. Apple은 배포한 모든 빌드의 아카이브를 보관하라고 안내합니다. 바이너리와 그에 맞는 dSYM 파일이 이후 크래시 리포트를 진단하는 데 필요할 수 있기 때문입니다. Mac을 벗어난 적이 없는 빌드의 아카이브가 더 안전한 정리 후보입니다.
    • 시뮬레이터 기기와 플랫폼 런타임: 기기는 CoreSimulator 아래에 있고, 다운로드 가능한 런타임은 Xcode 구성 요소로 관리됩니다. 하나의 캐시가 아닙니다.

    항목별로 안전하게 정리하기

    DerivedData는 프로젝트 단위로 다루는 것이 좋습니다. Xcode를 종료한 뒤 Xcode > Settings > Locations에서 Derived Data 위치를 열고, 오래된 프로젝트 폴더를 찾아 Trash로 옮깁니다. 전역 인덱스나 빌드 문제로 재빌드 비용이 정당할 때만 전체를 지웁니다.

    사용할 수 없는 시뮬레이터 기기에는 전용 명령이 있습니다.

    xcrun simctl delete unavailable
    

    이 명령은 런타임을 사용할 수 없는 기기 기록을 제거하며, 런타임 이미지 자체는 제거하지 않습니다. Xcode > Settings > Components에서 설치된 플랫폼과 시뮬레이터 런타임, 회수 가능한 용량을 확인한 뒤, 다시 다운로드할 수 있는 런타임을 제거합니다. Apple의 Xcode components guide 에서 같은 관리형 제거 경로를 문서화합니다. 기기 기록은 Window > Devices and Simulators에서 확인합니다.

    아카이브는 Window > Organizer에서 검토합니다. 아직 사용 중인 예전 프로덕션 버전을 포함해, 배포한 모든 빌드의 아카이브와 dSYM을 보존합니다. Apple의 debugging information guide 는 빌드 UUID가 일치할 때만 바이너리와 dSYM이 함께 동작한다고 안내합니다. DeviceSupport 역시 일괄 삭제보다 선별 검토가 필요합니다.

    DerivedData를 옮기기 전에 Xcode를 종료해 인덱스와 빌드 데이터베이스가 기록 중이 아니게 합니다. 다음에 열고 빌드할 때 다시 인덱싱하고, 종속성을 해석하며, 산출물을 재생성합니다. 소요 시간은 프로젝트와 남아 있는 항목에 따라 달라집니다.

    내부 동작: DerivedData는 안전하고 DeviceSupport는 성격이 다릅니다

    DerivedData는 재현 가능한 빌드 및 인덱스 산출물입니다. Xcode는 프로젝트마다 경로 해시로 이름 지은 폴더를 만들고, 소스, 설정, 툴체인, 종속성에서 파생된 컴파일 객체, 모듈 캐시, 인덱스, 빌드 산출물로 채웁니다. 지우면 Xcode가 남은 것을 다시 빌드하며, 시간과 네트워크 접근이 필요할 수 있습니다. DeviceSupport는 종류가 다릅니다. 실제 기기를 디버그할 때 Xcode가 해당 OS 빌드의 지원 및 심볼 데이터를 수집합니다. 시뮬레이터 기기와 런타임 이미지도 일반 캐시 폴더가 아니라 별도로 관리되는 객체입니다. 선택적으로 남겨 둘 가치가 있는 집합은 아카이브뿐이며, App Store 빌드 크래시 리포트를 심볼리케이션할 dSYM을 담고 있기 때문입니다. 무엇이 다시 만들 수 있는 캐시이고 무엇이 수집된 산출물인지 아는 것이 안전하게 지울 수 있는 것과 남겨 둘 것을 가르는 전부입니다.

    재빌드 가능한 캐시인 DerivedData와 모듈 캐시, 그리고 캡처된 산출물인 DeviceSupport, Archives, 시뮬레이터로 나뉜 Xcode 개발자 폴더입니다
    Xcode의 점유 공간은 재현 가능한 산출물과 수집된 아티팩트로 나뉩니다. 아카이브와 dSYM은 빌드가 배포된 뒤에도 운영상 중요할 수 있습니다.

    디스크 맵이 도움이 되는 경우

    Mole의 Analyze 같은 디스크 맵은 DerivedData, CoreSimulator, Archives 중 실제로 어디가 압박의 원인인지 보여 줄 수 있습니다. 제거는 런타임, 기기, 릴리스 산출물을 이해하는 Xcode의 Components, Devices, Organizer 화면에서 수행하는 것이 맞습니다.

    안전한 작업 순서

    진행 중인 빌드를 종료하고, Xcode와 CoreSimulator를 따로 측정한 뒤, 오래된 프로젝트별 DerivedData를 제거하고, 사용할 수 없는 시뮬레이터 기기를 삭제한 다음, Components에서 쓰지 않는 런타임을 제거합니다. 배포 버전과 심볼리케이션 필요에 맞춰 아카이브를 검토한 뒤에 제거합니다. Trash를 비우기 전에 중요한 프로젝트 하나를 다시 열어 빌드를 실행합니다.

    공간 정리부터 앱 관리, 시스템 유지보수, 디스크 분석, 상태 확인까지 하나의 네이티브 Mac 앱에 담았습니다. 평생 사용하고 구독은 없습니다.

    Mole 둘러보기

    이어서 읽기

    • 개발빌드를 깨지 않고 개발자 캐시 비우기4분 읽기
    • 개발Mac에서 Ollama와 LM Studio 모델 정리하기4분 읽기
    • 개발데이터를 잃지 않고 Mac Docker 정리하기4분 읽기

    Mole · 鼴

    Mac 정리, 앱 관리, 상태 확인을 하나로.

    v1.13.0 (153) · 릴리스

    지원

    도움말 문서 릴리스

    약관

    이용약관 개인정보 처리방침 환불 정책

    리소스

    블로그 CLI 도구 파트너 프로그램

    소셜

    Twitter hi@mole.fit

    유일한 공식 사이트 mole.fit · 가짜 사이트의 위험한 다운로드에 주의

    터미널 사용자를 위한 CLI는 계속 무료입니다.