Xcode-장치 폴더를 무료로 지울 수 있습니까?


83

내 드라이브에 더 많은 공간을 확보하기 위해 일부 폴더와 파일을 삭제하고 있습니다. 나는 경로에서 그것을 안다.

~/Library/Developer/CoreSimulator/Devices/

각 시뮬레이터 및 각 버전에 대한 폴더가 있습니다. 이 폴더의 크기는 약 11GB입니다. 더 이상 사용하지 않는 이전 버전의 시뮬레이터를 삭제할 수 있다는 것을 알고 있습니다. 그러나 그 고유 한 식별자로 나는 어떤 것이 옳고 어떤 것인지 알 수 없습니다. 그래서 내 질문은 : 모두 삭제할 수 있습니까? 다음에 시뮬레이터에 내 앱이 없어도 괜찮지 만 더 잃어 버릴 수 있습니까? 이전 버전의 시뮬레이터? 아니면 다른 건? 감사

답변:


244

~/Library/Developer/CoreSimulator/Devices/경로입니다 엑스 코드 저장 개별 시뮬레이터 장치에 필요한 대부분의 데이터.

다운로드 한 시뮬레이터 버전을 삭제하는 것에 대한 Beau Nouvelle의 제안은 런타임이 다른 곳에 저장되기 때문에 이러한 폴더의 크기를 변경하지 않습니다.

터미널로 이동하면 simctl 도구 (Xcode 6+와 함께 제공됨)를 사용하여 현재 가지고있는 모든 시뮬레이터 장치를 ID와 함께 나열하여 삭제할 폴더를 파악할 수 있습니다.

이 답변에서 xcrun simctl 을 지속적으로 사용하는 것을 볼 수 있습니다 . xcrun이 현재 선택한 Xcode에 적합한 버전의 simctl을 찾아 보도록함으로써 사물에 약간의 추상화를 추가합니다. 시스템이 내 것만 큼 복잡하지 않은 경우 "xcrun"부분을 삭제하여 얻을 수 있으며 명령 줄에서 여전히 simctl 도구를 찾을 수 있습니다.

xcrun simctl list devices

다음은 내가받은 출력의 일부 선택된 스 니펫입니다.

== 장치 ==

-iOS 8.2-

-iOS 8.4-

iPhone 6 Plus (23E36868-715A-48C8-ACC3-A735C1C83383) (종료)

iPad Air (2928379B-70E3-4C59-B5BA-66187DDD3516) (종료)

-iOS 9.1-

My Custom iPhone 4s (4F27F577-FFD0-42C1-8680-86BBA7394271) (종료)

iPad Retina (85717B35-313A-4161-850E-D99D5C8194A6) (종료)

-사용할 수 없음 : com.apple.CoreSimulator.SimRuntime.iOS-9-0-

iPhone 4s (D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3) (종료) (사용할 수 없음, 런타임 프로필을 찾을 수 없음)

그로부터 iOS 8.2 시뮬레이터 장치가 없음을 알 수 있습니다. 9.1 및 8.4 시뮬레이터 장치가 있습니다. 9.0 시뮬레이터 장치를 만들었지 만 (Xcode 7.0에서 남은 작업) 9.0 시뮬레이터 런타임 자체는 없습니다. 따라서 삭제하기에 좋은 후보이거나 Xcode에서 9.0 시뮬레이터를 다운로드해야한다는 알림입니다.

원하는 경우 해당 ID를 사용하여 문제의 장치에 대한 폴더를 식별하고 수동으로 삭제할 수 있지만 (이 경우 "D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3"폴더를 삭제합니다) 이를 수행하는 simctl 도구입니다.

7.1.1 버전의 simctl에 따른 사용법 :

xcrun simctl help delete
Usage: simctl delete <device> [... <device n>] | unavailable

따라서 개별 장치를 삭제할 수 있습니다.

xcrun simctl delete D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3

또는 다음을 사용하여 사용할 수없는 모든 항목을 일괄 삭제할 수 있습니다.

xcrun simctl delete unavailable

또한 사용할 수없는 시뮬레이터로만 제한 할 필요가 없습니다.

도구에 대한 추가 도움말이 필요한 경우 매우 간단한 도움말 명령이 함께 제공됩니다.

xcrun simctl help


2
오류가 발생 xcrun: error: unable to find utility "simctl"하면 다음을 사용할 수 있습니다.xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl
rovr138

2
Xcrun은 유틸리티를 찾을 수 있도록 도와 주므로 경로를 직접 알 필요가 없습니다. 그러나 simctl의 경로를 이미 알고 있다면 "xcrun"이 필요하지 않습니다. 그냥 직접 실행/Applications/Xcode.app/Contents/Developer/usr/bin/simctl
아론

simctl delete unavailable여러 iOS 버전으로 돌아가는 장치를 실행 하고 정리 한 후 ~ 10Gb를 회수했습니다 . 나는 이것이 아직 거기에 있는지 전혀 몰랐다. 승리!
wardw 2010

멋지고 또 다른 질문입니다. 어떤 것이 사용 가능한지 어떤 것이 없는지 어떻게 알 수 있습니까? 난 이미 그를 삭제 한 unavailable one사용 xcrun simctl delete unavailable하지만, 폴더가 .. 아직 너무 큰
부그

1
Xcode-beta가있는 경우 simctl은 Xcode의 장치를 사용할 수없는 것으로 설명하고 그 반대의 경우도 마찬가지이므로 둘 다 가지고있는 경우 공백을 사용하지 마십시오delete unavailable
JW

1

얼마 전에 비슷한 문제가 있었는데 xcode가 내 드라이브에서 47G를 차지했습니다. 내 xcode가 작동하지 않는 시뮬레이터 장치를 삭제하려고 시도했습니다. 그래서 xcode와 관련된 모든 것을 삭제하고 새로 설치했습니다. 내 경험입니다.


1

때때로 Xcode는 시뮬레이터를 두 배로 늘리기를 좋아합니다.

일반적으로 나를위한 해결책은 항상 모두 삭제하는 것입니다. 나중에 언제든지 다시 다운로드 할 수 있으므로 삭제해도 무해합니다.

Xcode> 환경 설정> 다운로드

오래된 시뮬레이터 (iOS 8.0-)가있는 경우 Xcode를 통해 다시 다운로드 할 수 없습니다.


0

Xcode 8에서

1) $ sudo du -khd 1터미널에서 실행 하여 각 폴더의 폴더 크기를 확인하십시오.

2) 실행 $ cd library/developer/coresimulator/devices하여 모든 Xcode 시뮬레이터에 대해 저장된 GB를 확인하십시오.

3) 엄청난 양의 스토리지가 숨어있는 곳이 보이기 시작할 것입니다! 이제 Macintosh HD에서 해당 위치로 이동하여 각 장치 폴더에서 devices.plist 를보십시오.

4) 과거에 실행했지만 더 이상 테스트 할 필요가없는 시뮬레이터 / iOS 버전을 삭제하여 삭제할 폴더를 결정합니다. 이전 백업으로 작동 할 수있는 이전 sqlite 버전 또는 이러한 폴더에 다른 콘텐츠가 있으므로이 폴더의 모든 항목을 삭제하기 전에이를 고려하십시오.

처음으로 50GB 이상을 절약했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.