# Mac에서 오래된 iOS 시뮬레이터 런타임을 삭제하는 방법

> 기기와 런타임을 구분하고 필요한 아카이브와 심볼을 보존하면서 Xcode 또는 simctl로 삭제하세요.

Published: 2026-09-04

시간이 지남에 따라 Xcode iOS 시뮬레이터는 눈에 띄지 않게 수 기가바이트의 저장 공간을 차지할 수 있습니다. 이 공간을 다시 확보하는 방법을 소개합니다.

Xcode 저장 공간은 런타임, 시뮬레이터 기기, DerivedData, DeviceSupport, Archives로 나뉩니다. 위치는 비슷하지만 관리 방식과 복구 비용이 다르므로 삭제 전에 측정하세요.

## Xcode 저장 공간부터 목록으로 확인하기

Apple은 추가 플랫폼 구성 요소를 [Xcode의 Components 설정](https://developer.apple.com/documentation/xcode/downloading-and-installing-additional-xcode-components)에서 관리하도록 안내합니다. 사용 불가 기기를 확인한 뒤 실행하세요.

```bash
xcrun simctl list runtimes
xcrun simctl list devices
```

| 종류 | 삭제 후 비용 | 유지할 때 |
|---|---|---|
| 런타임 | 다시 다운로드해야 하고 의존 기기 사용 불가 | 테스트 계획이나 버그 재현에 필요 |
| 가상 기기 | 앱, 키체인, DB, 테스트 상태 삭제 | 문제 상태를 재현해야 함 |
| DerivedData | 재빌드와 재인덱싱 | 현재 빌드에서 사용 중 |
| DeviceSupport | 실제 기기 OS용 오프라인 디버깅 자료 손실 가능 | 해당 기기나 크래시를 다룸 |
| Archives | 배포 빌드와 일치하는 dSYM 손실 가능 | 사용자가 아직 그 버전을 실행함 |

## iOS 시뮬레이터가 이렇게 많은 공간을 차지하는 이유

런타임은 다운로드한 iOS, watchOS, tvOS 또는 visionOS 시스템 이미지입니다. 시뮬레이터 기기는 그 런타임에서 실행되는 가상 기기입니다. 여러 기기가 하나의 런타임을 공유할 수 있으므로 같은 캐시로 취급하면 안 됩니다.

## 터미널을 통해 사용하지 않는 시뮬레이터 삭제하는 방법

먼저 읽기 전용 명령으로 런타임과 기기를 확인합니다.



런타임 이미지는 제거하지 않습니다. 다운로드한 런타임은 **Xcode > Settings > Components**에서 확인하고 삭제하세요. `/Library/Developer/CoreSimulator` 또는 `/System/Library/AssetsV2` 폴더를 직접 지우지 마세요.

### 현재 플랫폼의 최신 런타임
개발 중인 플랫폼은 최신 런타임을 유지합니다.

### 버그 재현에 필요한 이전 버전
테스트 계획, CI, 사용자 문제가 가리키는 버전은 다운로드 시간 이상의 가치가 있습니다.

## 사용할 수 없는 기기만 따로 삭제하기

목록을 확인한 뒤 이 명령으로 런타임이 없는 기기 레코드만 삭제합니다. 런타임 자체는 제거하지 않습니다.

```bash
xcrun simctl delete unavailable
```

## 시뮬레이터 캐시 및 앱 데이터 지우기

특정 기기의 테스트 상태만 지우려면 Simulator에서 그 기기를 실행하고 **Device > Erase All Content and Settings**를 선택합니다. 공유 런타임은 남지만 설치한 앱, 키체인, 데이터베이스 등 기기 상태는 사라집니다.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/xcode-storage-map.webp" width="1360" height="454" loading="lazy" alt="재빌드 가능한 캐시인 DerivedData와 모듈 캐시, 그리고 캡처된 산출물인 DeviceSupport, Archives, 시뮬레이터로 나뉜 Xcode 개발자 폴더입니다">
  <figcaption>Xcode의 점유 공간은 재현 가능한 산출물과 수집된 아티팩트로 나뉩니다. 아카이브와 dSYM은 빌드가 배포된 뒤에도 운영상 중요할 수 있습니다.</figcaption>
</figure>

## DeviceSupport, DerivedData, Archives를 따로 관리하기

DerivedData는 다시 만들 수 있지만 전체 삭제 시 모든 프로젝트가 다시 빌드되고 인덱싱됩니다. DeviceSupport는 실제 기기 디버깅에, 배포 빌드의 Archives와 dSYM은 향후 충돌 분석에 필요할 수 있습니다. Mole은 대체된 런타임을 보여 주고 선택 항목을 `simctl runtime delete`로 제거합니다. 기기와 아카이브는 Xcode에서 관리하세요.

## DeviceSupport는 실제 기기와 크래시로 선택하기

오래된 날짜만으로 불필요하지 않으며 연결할 기기와 분석할 크래시로 판단합니다.

## Archives는 사용 중인 릴리스로 선택하기

사용자가 실행하는 버전은 dSYM과 빌드를 다른 곳에서 검증하지 않았다면 보관합니다.

## 반복 가능한 안전한 정리 순서

Xcode, Simulator, 관련 빌드를 종료하고 다섯 범주를 따로 측정합니다. 필요 없음을 확인한 이전 런타임을 Xcode 설정에서 제거하고 기기 목록을 본 뒤 `xcrun simctl delete unavailable`을 실행하세요. DerivedData는 오래된 프로젝트 단위로, DeviceSupport는 실제 기기와 크래시 요구에 따라, Archives는 Organizer에서 배포 중인 버전을 기준으로 판단합니다. 다시 측정해 필요한 공간을 얻으면 멈추세요.

## Mole의 경계

Mole은 Apple이 삭제 가능하다고 한 이전 런타임만 다루며 기기 상태나 릴리스 아카이브는 지우지 않습니다.

## 자주 묻는 질문

### 시뮬레이터를 삭제하면 프로젝트 코드가 삭제되나요?
프로젝트 소스는 삭제되지 않지만 가상 기기의 앱과 테스트 상태는 사라집니다.

### iOS DeviceSupport 폴더를 삭제해도 안전한가요?
DeviceSupport 전체를 캐시처럼 지우지 마세요. 오래된 OS 데이터도 실제 기기 디버깅이나 충돌 분석에 필요할 수 있습니다.

### Mole은 오래된 시뮬레이터를 찾을 수 있나요?
Mole은 대체된 다운로드 런타임을 표시하고 선택 항목을 `simctl`로 삭제합니다. CoreSimulator 폴더를 직접 지우지 않습니다.

---

Canonical HTML page: https://mole.fit/ko/blog/how-to-clean-up-ios-simulator-mac
Blog index for agents: https://mole.fit/ko/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
