Mac에서 오래된 iOS 시뮬레이터 런타임을 삭제하는 방법
시간이 지남에 따라 Xcode iOS 시뮬레이터는 눈에 띄지 않게 수 기가바이트의 저장 공간을 차지할 수 있습니다. 이 공간을 다시 확보하는 방법을 소개합니다.
Xcode 저장 공간은 런타임, 시뮬레이터 기기, DerivedData, DeviceSupport, Archives로 나뉩니다. 위치는 비슷하지만 관리 방식과 복구 비용이 다르므로 삭제 전에 측정하세요.
iOS 시뮬레이터가 이렇게 많은 공간을 차지하는 이유
런타임은 다운로드한 iOS, watchOS, tvOS 또는 visionOS 시스템 이미지입니다. 시뮬레이터 기기는 그 런타임에서 실행되는 가상 기기입니다. 여러 기기가 하나의 런타임을 공유할 수 있으므로 같은 캐시로 취급하면 안 됩니다.
터미널을 통해 사용하지 않는 시뮬레이터 삭제하는 방법
xcrun simctl delete unavailable은 런타임이 사라진 기기 레코드만 삭제합니다.
xcrun simctl delete unavailable
런타임 이미지는 제거하지 않습니다. 다운로드한 런타임은 Xcode > Settings > Components에서 확인하고 삭제하세요. /Library/Developer/CoreSimulator 또는 /System/Library/AssetsV2 폴더를 직접 지우지 마세요.
시뮬레이터 캐시 및 앱 데이터 지우기
특정 기기의 테스트 상태만 지우려면 Simulator에서 그 기기를 실행하고 Device > Erase All Content and Settings를 선택합니다. 공유 런타임은 남지만 설치한 앱, 키체인, 데이터베이스 등 기기 상태는 사라집니다.
iOS DeviceSupport 및 DerivedData 수동 삭제
DerivedData는 다시 만들 수 있지만 전체 삭제 시 모든 프로젝트가 다시 빌드되고 인덱싱됩니다. DeviceSupport는 실제 기기 디버깅에, 배포 빌드의 Archives와 dSYM은 향후 충돌 분석에 필요할 수 있습니다. Mole은 대체된 런타임을 보여 주고 선택 항목을 simctl runtime delete로 제거합니다. 기기와 아카이브는 Xcode에서 관리하세요.
자주 묻는 질문
시뮬레이터를 삭제하면 프로젝트 코드가 삭제되나요?
프로젝트 소스는 삭제되지 않지만 가상 기기의 앱과 테스트 상태는 사라집니다.
iOS DeviceSupport 폴더를 삭제해도 안전한가요?
DeviceSupport 전체를 캐시처럼 지우지 마세요. 오래된 OS 데이터도 실제 기기 디버깅이나 충돌 분석에 필요할 수 있습니다.
Mole은 오래된 시뮬레이터를 찾을 수 있나요?
Mole은 대체된 다운로드 런타임을 표시하고 선택 항목을 simctl로 삭제합니다. CoreSimulator 폴더를 직접 지우지 않습니다.