Mac개발자읽는 데 2분

Xcode DerivedData, 아카이브 및 시뮬레이터를 지우는 방법

Xcode는 수십 기가바이트를 사용할 수 있습니다. Mac에서 DerivedData, 이전 아카이브, 장치 지원 파일, 사용하지 않는 시뮬레이터 및 런타임을 안전하게 삭제하는 방법은 다음과 같습니다.

업데이트됨 · 작성: spacerecover 팀

Apple 플랫폼용 앱을 구축하는 경우 Mac에서 사진 다음으로 가장 큰 것은 Xcode일 것입니다. Xcode 자체도 크지만, 용량이 계속 늘어나는 주된 원인은 빌드 파일, 아카이브, 기기 지원 파일, 시뮬레이터입니다. 이 공간의 대부분은 안전하게 확보할 수 있습니다.

시스템 설정 > 일반 > 저장소 > 개발자에서 대략적인 합계를 확인할 수 있습니다.

DerivedData: 빌드 파일 및 인덱스

DerivedData는 사용자가 연 모든 프로젝트에 대한 중간 빌드 파일, 인덱스 및 모듈 캐시를 보유합니다. 모든 프로젝트, 브랜치 및 Xcode 버전에 따라 증가하며 빌드할 때 완전히 재생성됩니다.

삭제하려면:

  1. Xcode를 종료합니다.
  2. Finder에서 이동 > 폴더로 이동을 선택하고 ~/Library/Developer/Xcode/DerivedData을 입력합니다.
  3. 내부의 폴더를 휴지통으로 옮긴 후 비우세요.

또는 터미널에서:

rm -rf ~/Library/Developer/Xcode/DerivedData/*

Xcode가 다시 빌드되고 다시 인덱싱되는 동안 각 프로젝트의 다음 빌드에는 더 오랜 시간이 걸릴 것으로 예상됩니다. Xcode > Settings > Locations에서 DerivedData 위치를 보거나 변경할 수 있습니다.

아카이브: 배포한 빌드의 기록은 보관하세요

Product > Archive를 선택할 때마다 Xcode는 디버그 심볼을 포함한 아카이브를 저장합니다. 배포한 빌드의 충돌 보고서에서 심볼을 복원하는 데 필요하므로 무턱대고 모두 삭제하지 마세요.

  1. Window > Organizer를 열고 Archives를 선택하세요.
  2. 배포한 적이 없는 빌드나 더 이상 사용하지 않는 버전의 아카이브를 오른쪽 클릭하고 Delete를 선택하세요.

아카이브는 ~/Library/Developer/Xcode/Archives에 날짜별로 정리되어 있습니다.

장치 지원 파일

새로운 OS 버전을 실행하는 물리적 장치를 연결하면 Xcode는 해당 버전의 디버그 심볼을 ~/Library/Developer/Xcode/iOS DeviceSupport(및 watchOS 및 기타 플랫폼의 유사한 폴더)에 복사합니다. 각각은 수 기가바이트가 될 수 있습니다.

더 이상 테스트하지 않는 OS 버전의 폴더를 삭제하세요. 해당 버전의 장치를 다시 연결하면 Xcode가 해당 버전을 다시 생성합니다.

시뮬레이터 및 시뮬레이터 런타임

시뮬레이터는 ~/Library/Developer/CoreSimulator/Devices에 저장되며, 각 시뮬레이션된 장치 내부에 앱 데이터가 있습니다. 런타임(시뮬레이션된 OS 버전)은 별도로 저장되며 크기가 큽니다.

더 이상 설치되어 있지 않은 런타임에 대한 시뮬레이터 제거:

xcrun simctl delete unavailable

Window > Devices and Simulators > Simulators에서 개별 시뮬레이터 삭제: 시뮬레이터를 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택합니다.

Xcode > Settings > Components(일부 Xcode 버전에서는 Platforms)에서 시뮬레이터 런타임을 제거합니다. 더 이상 필요하지 않은 런타임을 선택하고 빼기(-) 버튼을 클릭하세요. 터미널에서 런타임을 나열하고 삭제할 수도 있습니다.

xcrun simctl runtime list
xcrun simctl runtime delete <runtime-identifier>

시뮬레이터를 삭제하지 않고 내용만 초기화하려면 Simulator 앱에서 Device > Erase All Content and Settings를 선택하세요.

이전 Xcode 버전

호환성을 위해 여러 Xcode 버전을 유지하는 경우 각각의 버전이 커집니다. 더 이상 필요하지 않은 /Applications의 사본을 삭제하십시오.

캐시

Xcode는 또한 ~/Library/Caches/com.apple.dt.Xcode에 캐시를 유지하고, Swift Package Manager는 다운로드한 패키지를 ~/Library/Caches/org.swift.swiftpm에 유지합니다. 둘 다 필요에 따라 재구축됩니다. 삭제하기 전에 Xcode를 종료하십시오.

CocoaPods, Homebrew, npm 및 Gradle과 같은 다른 도구의 경우 Mac에서 개발자 캐시 지우기를 참조하세요.

자주 묻는 질문

Xcode DerivedData를 삭제해도 안전합니까?

예. DerivedData에는 Xcode가 재생성하는 빌드 출력, 인덱스 및 캐시만 포함됩니다. 먼저 Xcode를 종료하세요. 다음 빌드는 다시 빌드하는 동안 속도가 느려집니다.

Xcode 아카이브를 삭제할 수 있나요?

릴리스한 적이 없는 빌드의 아카이브를 삭제할 수 있습니다. 충돌 보고서를 읽기 위해 디버그 기호가 필요한 경우 릴리스된 버전의 아카이브를 보관하십시오.

iOS DeviceSupport란 무엇이며 삭제할 수 있나요?

여기에는 물리적 장치에서 복사된 디버그 기호가 포함되어 있습니다. 더 이상 테스트하지 않는 OS 버전의 폴더를 삭제하세요. Xcode는 해당 버전을 실행하는 장치를 연결할 때 해당 버전을 다시 생성합니다.

앱이 대신 정리해 주길 원하시나요?

spacerecover는 Homebrew, npm, Gradle, CocoaPods, pip 및 Swift 패키지캐시와 함께 Xcode DerivedData, 아카이브 및 시뮬레이터 데이터를 찾고 재구축 내용을 설명하며 프로젝트를 건드리지 않습니다. 아카이브와 시뮬레이터는 검토를 위해 항상 표시됩니다.

출처 및 추가 자료

계속하세요