AskCleanAskClean

Xcode iOS DeviceSupport를 삭제해도 될까? 안전한 정리 방법

AskClean 팀 · 업데이트 2026-07-31

더 이상 실기기 디버깅에 쓰지 않는 OS 버전의 DeviceSupport는 삭제할 수 있지만 현재 테스트 기기가 사용하는 버전은 남기세요. 나중에 같은 기기를 연결하면 Xcode가 필요한 지원 데이터를 다시 준비할 수 있으므로, 삭제 비용은 주로 대기 시간이지 소스 코드 손실이 아닙니다.

개발용 Mac과 휴대전화 주변에 놓인 현재 및 이전 기기 디버깅 심볼
현재 실기기 테스트 구성에 필요한 버전은 남기고 사용하지 않는 OS 버전만 개별 검토하세요.

DeviceSupport에 들어 있는 것

Xcode가 실제 iPhone, iPad, Apple Watch 또는 Mac에 디버거를 연결하려면 해당 OS 빌드 지원 데이터가 필요합니다. 여러 Xcode와 기기를 사용한 Mac에는 ~/Library/Developer/Xcode/iOS DeviceSupport와 macOS DeviceSupport가 남을 수 있습니다.

이 파일은 실기기 운영체제 프레임워크와 심볼을 이해하기 위한 것입니다. 앱 소스, 시뮬레이터 기기, 배포 앱의 dSYM이 아닙니다. 삭제 비용이 다르므로 같은 Xcode 대용량 폴더로 묶지 마세요.

다른 OS 버전이나 빌드의 기기를 연결할 때 지원 데이터가 추가됩니다. 여러 릴리스 주기가 지나면 현재 기기 랩에서 쓰지 않는 버전이 남습니다.

폴더를 찾고 보존 목록 만들기

검토 전에 Xcode를 종료하고 기기를 분리하세요. Finder에서 Command-Shift-G를 눌러 ~/Library/Developer/Xcode를 열고 iOS 및 macOS DeviceSupport를 확인합니다. 실제 구조는 사용한 플랫폼과 Xcode, 기기에 따라 다릅니다.

목록 보기에서 폴더 크기를 계산하세요. 터미널에서는 du -sh ~/Library/Developer/Xcode/*DeviceSupport*로 읽기 전용 요약을 얻습니다. 일치 항목이 없다면 해당 디렉터리가 없는 것입니다.

앞으로 디버깅할 실기기의 OS 버전을 기기 설정 또는 Window > Devices and Simulators에서 확인하고, 현재 테스트 구성과 일치하는 폴더를 남깁니다.

  1. Xcode와 Simulator를 종료하고 실기기를 분리합니다.
  2. ~/Library/Developer/Xcode에서 각 DeviceSupport 폴더 크기를 측정합니다.
  3. 계속 디버깅할 실기기와 OS 버전을 목록으로 만듭니다.
  4. 일치하는 버전과 가까운 시일 내 필요한 베타·호환성 대상을 보존합니다.
  5. 일치하지 않는 이전 버전만 휴지통으로 옮기고 다음 실기기 디버깅 확인까지 비우지 않습니다.

삭제 후 일어나는 일

삭제한 버전의 기기를 다시 연결하면 Xcode가 지원을 복원하거나 가져오는 동안 준비 메시지를 표시할 수 있습니다. Apple은 이전 Xcode 릴리스 노트에서도 iOS DeviceSupport를 삭제하고 다시 연결하면 심볼이 재복사된다고 안내했습니다.

다시 만들 수 있다고 항상 전부 지워도 된다는 뜻은 아닙니다. 기기와 호환 도구가 필요하고 시간이 걸려 급한 디버깅을 막을 수 있습니다. 현재 기기 랩 버전은 남기세요.

다시 연결할 수 없는 오래된 OS 빌드는 향후 조사 가능성과 크기를 비교합니다. 보수적으로는 백업된 외부 저장소로 먼저 옮기고 필요할 때 원래 위치에 복원합니다.

Apple의 삭제 후 재연결 지침은 특정 Xcode 버전의 해결 방법이었습니다. 재준비 가능성의 근거이지 현재 버전을 정기적으로 모두 지우라는 권장이 아닙니다.

혼동하기 쉬운 네 가지 Xcode 데이터

DeviceSupport는 실기기용입니다. 시뮬레이터 런타임은 Xcode Settings > Platforms에서, 가상 기기와 앱 데이터는 CoreSimulator에서 관리합니다.

DerivedData는 프로젝트 빌드와 인덱스로 소스에서 다시 만들 수 있어 저위험 공간 회수의 첫 대상입니다. DeviceSupport도 대개 복구되지만 기기별 재준비가 필요합니다.

Archives는 비용이 높습니다. .xcarchive에 배포 바이너리와 일치 dSYM이 있으므로 비슷한 버전명만 보고 DeviceSupport와 같은 캐시로 취급하지 마세요.

DeviceSupport가 실제 원인인지 측정하기

DerivedData, Archives, CoreSimulator, DocumentationCache와 DeviceSupport를 따로 측정하세요. 작은 심볼 폴더를 지우고 큰 미사용 런타임을 남기면 효과가 없습니다.

시동 디스크가 가득 찼다면 휴지통, 다운로드, 오래된 DerivedData와 unavailable 시뮬레이터처럼 되돌리거나 재생성할 수 있는 데이터로 작업 공간부터 확보합니다.

정리 후 Finder 또는 du로 다시 측정하세요. macOS 저장 공간 분류는 갱신이 느릴 수 있으며, 회수량은 일반적인 추정치가 아니라 이 Mac의 실제 이전 버전 크기입니다.

AskClean이 차이를 보여 주는 방식

AskClean은 iOS와 macOS DeviceSupport를 별도 Xcode 항목으로 측정하고 신중한 확인 흐름에 둡니다. DerivedData와 합치거나 Archives를 같은 비용의 캐시로 표시하지 않습니다.

스캔은 DeviceSupport의 재준비 비용을 설명하고 휴지통 이동 전에 묻습니다. Archives에는 더 엄격한 비가역 경고를 표시하며 현재 실기기 테스트 구성은 사용자가 결정합니다.

DeviceSupport는 Xcode 저장 공간의 한 계층

위치와 복구 비용으로 구분해 다른 산출물을 잘못 지우지 않습니다.

범주일반 위치삭제 결과
실기기 지원~/Library/Developer/Xcode/iOS DeviceSupport일치 기기 재연결 때 Xcode가 다시 준비할 수 있습니다.
시뮬레이터 데이터~/Library/Developer/CoreSimulator기기를 삭제하면 설치 앱과 테스트 데이터도 잃습니다.
DerivedData~/Library/Developer/Xcode/DerivedData소스에서 다시 빌드하고 인덱싱합니다.
Archives와 앱 dSYM~/Library/Developer/Xcode/Archives배포 빌드의 정확한 디버깅 증거를 영구히 잃을 수 있습니다.

자주 묻는 질문

iOS DeviceSupport를 안전하게 삭제할 수 있나요?

더 이상 디버깅하지 않는 OS 버전은 보통 삭제할 수 있습니다. 현재 실기기 버전은 남기고, 나중에 필요하면 기기 재연결 때 Xcode가 다시 준비할 수 있습니다.

DeviceSupport에 앱 dSYM이 있나요?

실기기와 OS 디버깅용이며 배포 앱 고유 dSYM을 대신하지 않습니다. 프로덕션 심볼화에는 원본 Archive나 일치 심볼을 보존하세요.

DeviceSupport를 지우면 시뮬레이터도 삭제되나요?

아닙니다. 런타임과 가상 기기 데이터는 Xcode Platforms, simctl, CoreSimulator에서 별도로 관리합니다.

삭제한 폴더가 다시 생기는 이유는?

Xcode가 연결된 실기기의 OS 빌드를 디버깅하는 데 필요하기 때문입니다. 같은 버전을 다시 쓰면 지원 데이터와 용량이 돌아옵니다.

참고 자료

Xcode 저장 공간 점검 계속하기