Levo 도움말 · 내 Mac에 맞게
iOS·Mac 개발자를 위한 DerivedData, 시뮬레이터, 기기 지원 파일
개발자의 Mac이 가득 차는 가장 큰 이유는 Xcode 하나예요. 거의 전부 저절로 다시 생기니까 대부분 지워도 안전해요. Levo는 그게 어디에 있는지 알고, 먼저 Xcode가 쓰고 있지 않은지 확인해요.
Levo가 찾는 것
- Xcode build data. DerivedData 안의 프로젝트별 폴더 하나씩, 그리고 공유 모듈 캐시와 심볼 캐시, SwiftUI 미리보기, 문서 캐시. Xcode가 다음 빌드에서 다시 만들고, 그 빌드는 더 오래 걸려요.
- 기기 지원 파일. Xcode가 연결한 iPhone, iPad, Apple Watch, Apple TV에서 복사해 온 디버그 심볼. 기기에 있는 것의 사본이고, 다음에 기기를 연결하면 Xcode가 다시 복사해요.
- 시뮬레이터. 더 이상 쓰지 않는 시뮬레이터 기기와 그 바탕이 되는 내려받은 시스템 이미지. Levo는 Xcode 자체의
simctl명령어로 시뮬레이터를 삭제해요. - 패키지 캐시. Swift 패키지 체크아웃과 빌드, CocoaPods 캐시와 specs, Carthage 빌드.
- 오래된 Xcode 버전과 설치 파일. 볼 수 있도록 목록에 표시되고, 내가 직접 선택하지 않으면 선택되지 않아요.
- 아카이브와 iPhone·iPad 백업. 이것도 목록 표시만 해요. 아카이브는 출시한 빌드의 유일한 사본이고, 백업은 휴대폰의 유일한 사본일 수 있어요.
Levo가 건드리지 않을 때
Xcode가 작업 중인 빌드 데이터는 잠겨요. Levo는 Xcode, xcodebuild와 빌드 서비스가 실행 중인지, 시뮬레이터가 부팅되어 있는지 확인해요. 잠긴 행에는 이유가 표시되고, 작업이 멈추면 잠금이 풀려요. 한동안 건드리지 않은 프로젝트나 프로젝트 폴더가 사라진 프로젝트의 빌드 데이터가 가장 먼저 선택돼요.
작동 방식은 잠긴 항목을 참고하세요.
추천하는 순서
- 첫 분석은 에이전트에게 맡기세요. 에이전트가 폴더 크기와 오래된 정도를 읽고 각 행에 이유를 붙여요.
- 먼저 Xcode build data와 Simulators and emulators 그룹을 보세요. 보통 가장 커요.
- 저절로 다시 생기는 것만 선택하려면 Careful를 고르세요. 지금 당장 공간이 필요하고, 첫 빌드가 느려지거나 다시 내려받는 것을 감수할 수 있다면 Aggressive를 고르세요. 각 수준은 정리 수준에서 설명해요.
- 정리한 다음 한 번 빌드해서 다시 예열하세요.
다시 생기는 것
DerivedData, 캐시, 시뮬레이터 캐시는 모두 소스에서 다시 만들어져요. 시뮬레이터 기기는 삭제하면 데이터가 사라지니까, 시뮬레이터 안에 있는 앱의 테스트 데이터도 함께 사라져요. 기기 지원 파일은 기기를 연결하면 다시 생겨요.