Xcode iOS DeviceSupport, 삭제해도 될까요? 안전한 정리 방법
AskClean 팀 · 업데이트 2026-11-02
더 이상 실기기 디버깅에 쓰지 않는 OS 버전의 DeviceSupport 폴더는 삭제할 수 있지만, 지금 쓰는 테스트 기기의 버전은 남기세요. 나중에 버전이 맞는 기기를 다시 연결하면 Xcode가 지원 데이터를 다시 준비할 수 있으므로, 삭제의 대가는 나중의 대기 시간이지 소스 코드 손실이 아닙니다.

DeviceSupport에 들어 있는 것
Xcode가 실제 iPhone, iPad, Apple Watch 또는 Mac에서 디버깅하려면 그 기기에 설치된 OS 빌드에 맞는 지원 데이터가 필요합니다. 여러 버전의 Xcode와 기기를 써 온 Mac에는 ~/Library/Developer/Xcode/iOS DeviceSupport 아래의 버전별 폴더와, 같은 위치의 macOS DeviceSupport 폴더가 있을 수 있습니다.
이 파일은 디버거를 연결할 때 Xcode가 시스템 프레임워크와 심볼을 해석하는 데 씁니다. 앱 소스 코드도, 시뮬레이터 기기도, 배포한 앱의 dSYM도 아닙니다. 세 가지는 삭제 비용이 다르므로 안전하게 정리하려면 먼저 서로 구분해야 합니다.
OS 버전이나 빌드가 다른 기기를 연결할 때마다 지원 데이터가 늘어납니다. 여러 릴리스 주기에 걸쳐 여러 기기로 테스트하다 보면 지금 테스트 기기에서는 쓰지 않는 버전의 데이터가 남게 됩니다.
폴더를 찾고 보존 목록 만들기
검토하기 전에 Xcode를 종료하고 기기 연결을 해제하세요. Finder에서 Command-Shift-G를 눌러 ~/Library/Developer/Xcode를 열고 iOS DeviceSupport와 macOS DeviceSupport 폴더를 찾습니다. 어떤 폴더가 있는지는 이 Mac에서 사용한 플랫폼, Xcode 버전, 실기기에 따라 다릅니다.
Finder를 목록 보기로 바꾸고 폴더 크기를 계산하세요. 터미널에서는 du -sh ~/Library/Developer/Xcode/*DeviceSupport*로 읽기 전용 요약을 볼 수 있습니다. 와일드카드와 일치하는 항목이 없으면 셸이 오류를 표시할 수 있는데, 해당 폴더가 없다는 뜻일 뿐입니다.
이제 앞으로도 디버깅할 실기기 목록을 만드세요. 각 기기의 설정 > 일반 > 정보에서 소프트웨어 버전을 확인하거나, 기기를 연결해 Xcode의 Window > Devices and Simulators에서 확인합니다. 지금 테스트하는 기기들의 OS 버전 및 빌드와 일치하는 폴더는 남깁니다.
- Xcode와 Simulator를 종료하고 테스트용 실기기의 연결을 해제합니다.
- Finder에서 ~/Library/Developer/Xcode를 열고 각 DeviceSupport 폴더의 크기를 측정합니다.
- 앞으로 디버깅할 모든 실기기에 지금 설치된 OS 버전을 목록으로 만듭니다.
- 일치하는 버전과 팀이 곧 필요로 하는 베타·호환성 테스트 대상 버전을 보존합니다.
- 일치하지 않는 이전 버전 폴더만 휴지통으로 옮기고, 다음 실기기 디버깅이 정상적으로 되는지 확인할 때까지 휴지통을 비우지 않습니다.
삭제 후 일어나는 일
지원 폴더를 지운 버전의 기기를 나중에 다시 연결하면, Xcode가 필요한 지원 데이터를 복원하거나 가져오는 동안 준비 메시지를 표시할 수 있습니다. Apple은 Xcode 릴리스 노트의 해결 방법(workaround)에서 iOS DeviceSupport를 삭제한 뒤 기기를 다시 연결하면 Xcode가 심볼을 다시 복사한다고 안내한 적이 있습니다.
그래서 DeviceSupport는 대체로 다시 준비할 수 있지만, 언제든 부담 없이 지워도 된다는 뜻은 아닙니다. 다시 준비하려면 시간이 걸리고 해당 기기와 호환되는 도구가 있어야 하며, 마감이 급할 때 디버깅을 가로막을 수 있습니다. 지금 테스트하는 기기의 버전은 남기고, 폴더를 완전히 비우려 하지 마세요.
더 이상 재현하거나 연결할 수 없는 오래된 OS 빌드라면, 나중에 필요할 가능성과 차지하는 크기를 비교해 판단하세요. 가장 보수적인 방법은 백업되는 외부 저장소로 먼저 옮겨 두었다가, 예전 버전을 조사해야 할 때 같은 위치로 복원하는 것입니다.
Apple이 안내한 ‘삭제 후 다시 연결’은 특정 Xcode 릴리스의 문제를 피하기 위한 해결 방법이었습니다. 지원 데이터를 다시 준비할 수 있다는 근거로만 보고, 지금 쓰는 DeviceSupport 폴더를 모두 지우라는 권장으로 받아들이지 마세요.
혼동하기 쉬운 네 가지 Xcode 데이터
DeviceSupport는 실기기 디버깅용입니다. 시뮬레이터 런타임은 Xcode의 Settings > Components(Xcode 14~15에서는 Platforms)에서 설치하는 플랫폼 이미지이고, 개별 시뮬레이터 기기와 그 앱은 CoreSimulator 아래에 있습니다. DeviceSupport를 지워도 시뮬레이터 런타임은 제거되지 않습니다.
DerivedData에는 프로젝트 빌드 산출물과 인덱스가 들어 있습니다. 소스에서 다시 만들 수 있으므로 위험이 낮은 공간 확보 대상 중 보통 가장 먼저 정리합니다. DeviceSupport도 대개 되살릴 수 있지만, 해당 실기기를 연결해 Xcode가 다시 준비해야 합니다.
Archives는 삭제 비용이 가장 큽니다. .xcarchive에는 배포한 빌드의 정확한 바이너리와 일치하는 dSYM이 보존되어 있을 수 있습니다. 버전 번호가 오래된 DeviceSupport 폴더와 비슷하다는 이유로 아카이브를 지우지 마세요. 이름이 가리키는 대상이 서로 다릅니다.
DeviceSupport가 실제 원인인지 측정하기
Xcode 폴더가 크다고 해서 DeviceSupport가 주범이라는 뜻은 아닙니다. DerivedData, Archives, CoreSimulator, DocumentationCache, DeviceSupport를 각각 측정하세요. 쓰지 않는 시뮬레이터 런타임은 그대로 두고 작은 심볼 폴더만 지우면 얻는 공간은 적고, 다시 준비하는 시간만 늘 수 있습니다.
시동 디스크가 거의 가득 찼다면 위험이 낮은 후보부터 정리해 작업할 공간을 확보하세요. 휴지통, 다운로드 폴더, 오래된 DerivedData, 검토를 마친 unavailable 시뮬레이터 기기가 그 예입니다. 그다음 DeviceSupport를 OS 버전별로 검토하고, Archives는 릴리스 보관 정책을 점검할 때 따로 다루세요.
정리한 뒤에는 Finder나 du로 다시 측정하세요. macOS의 저장 공간 설정은 늦게 갱신될 수 있습니다. 누구에게나 맞는 GB 수치는 없으며, 확보되는 공간은 이 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이 들어 있나요?
아닙니다. DeviceSupport는 실기기와 OS 디버깅용이며, 배포한 빌드와 함께 보존한 앱 dSYM을 대신하지 못합니다. 프로덕션 크래시를 심볼화하려면 원래 아카이브나 일치하는 dSYM을 보관하세요.
DeviceSupport를 지우면 시뮬레이터 런타임도 삭제되나요?
아닙니다. 시뮬레이터 런타임과 가상 기기 데이터는 Xcode의 Settings > Components, simctl, CoreSimulator 폴더에서 따로 관리됩니다.
지운 폴더를 Xcode가 다시 만드는 이유는 무엇인가요?
연결된 실기기의 OS 빌드를 디버깅하려면 해당 지원 데이터가 필요하기 때문입니다. 지원 데이터가 없으면 Xcode가 다시 준비하거나 복사하므로, 같은 버전으로 계속 디버깅하면 용량도 다시 늘어납니다.
참고 자료