불필요한 Xcode 장치 시뮬레이터를 삭제할 수 있습니까?


64

랩톱의 Xcode가 많은 저장 공간을 소비한다는 것을 알았으므로 Xcode에서 불필요한 파일을 삭제하려고합니다.

아래에 4 개의 디렉토리가 Application/Xcode.app/Contents/Developer/Platforms/있습니다. 나는 그 느낌이 WatchSimulator.platformAppleTVSimulator.platform나는 기본적인 아이폰 OS 개발을위한 거의 유일한 엑스 코드를 사용하기 때문에, 필요하지 않습니다.

해당 플랫폼 디렉토리를 직접 삭제할 수 있는지 알고 싶습니다.

디렉토리


참고로 ... 압축 된 것처럼 보이는 공간의 절반 만 얻을 수 있습니다. 예를 들어 WatchOS.platform의 시스템에서 정보 입수 시트를 보면 2,212 개의 항목에 대해 50,579,830 바이트 (디스크에서 28.2MB)가 표시되고 AppleTVSimulator.platform에 29,705 개의 항목에 대해 1,865,477,227 바이트 (디스크에 1.1GB)가 표시됩니다. 따라서 OP에 표시된 값만큼의 여유 공간을 확보하지 못할 것입니다.
user3439894

파일이 압축 되고 Apples의 HFS + 파일 시스템은 Transparent Compression을 지원하지만 Finder ls는 터미널에 파일이 hfsCompression을 사용하고 있음 을 알 수있는 플래그가 없으며 , 디스크에 표시되는 값이 크게 다른 것을 볼 수있는 정보 시트 가져 오기 ( 바이트) . 타사가 작성한 유틸리티가 있는데, 소스 코드 자체를 컴파일하려는 경우 afsctool이 포함되어 있습니다. 그 기능 중 기존 HFS + 압축 파일에 대한 정보를 얻는 것입니다.
user3439894

드라이브에서 이러한 큰 파일을 결정하는 데 어떤 프로그램이 도움이됩니까?
Pysis

1
@Pysis 나에게 OmniDiskSweeper 처럼 보입니다 . 이 도구는 APFS 및 압축에 대해 업데이트되지 않았지만 현재 새로운 테스트 빌드가있는 것처럼 보입니다.
Zach Lipton

1
@Zach Lipton, OP에서 High Sierra 및 APFS를 실행중인 경우 APFS는 아직 압축을 지원하지 않기 때문에 파일이 압축되지 않을 수 있습니다. 아니면 10.13.1에서 변경 되었습니까?
user3439894

답변:


63

예, 사용하지 않는 시뮬레이터는 삭제할 수 있습니다. 이전 iOS 버전 지원을 중단하면 일상적으로이 작업을 수행합니다.

삭제 한 다음 나중에 필요할 경우 Apple 개발자 사이트에서 다시 다운로드 할 수 있습니다.

삭제하는 가장 좋은 방법은 Xcode입니다. 로 이동하십시오 Window -> Devices and Simulators. 그러면 Xcode에서 사용하는 모든 장치가 포함 된 새 창이 열립니다.

상단에서을 탭 Simulators하면 왼쪽에 목록이 표시됩니다.

여기에서 삭제하려는 시뮬레이터를 찾아 Cntl클릭 (또는 마우스 오른쪽 버튼 클릭)하고을 선택하십시오 Delete.

더 이상 지원하지 않는 각 iOS 버전에서 실행되는 각 시뮬레이터 로이 작업을 수행합니다.


7
나는이 게시물이 몇 살이라는 것을 알고 있지만 시뮬레이터를 제거하는 것이 아니라 Xcode에서 목록을 나열하는 것 같습니다. 따라서 디스크 공간을 절약하기 위해 디스크를 제거해야하는 경우에는 올바른 방법이 아닙니다.
숀 패터슨

34

Xcode는 이제 모든 사용자와 시뮬레이터를 공유합니다. 따라서 다음 폴더에서 시뮬레이터를 제거해야합니다.

/Library/Developer/CoreSimulator/Profiles/Runtimes

예를 들면 다음과 같습니다.

cd /Library/Developer/CoreSimulator/Profiles/Runtimes
sudo rm -rf iOS\ 8.4.simruntime/
sudo rm -rf iOS\ 9.3.simruntime/

건배!


29

터미널에서이 명령으로 사용 불가능한 모든 시뮬레이터를 쉽게 제거 할 수 있습니다.

xcrun simctl delete unavailable

1
실제로, 이것은별로하지 않습니다. 실행 xcrun simctl list하면 ~ 10 %의 장치 만 "사용할 수없는"장치로 간주됩니다. 또한 장치는 실제 공간이 아닙니다. iOS 런타임이 있습니다. @Francois의 답변은 실제로 훨씬 좋습니다.
joshuakcockrell

1
@joshuakcockrell 반드시 그런 것은 아닙니다. 오래된 시뮬레이터 버전을 축적 한 후, 이것은 내 경우에 우스운 공간을 확보했습니다. 그래서 나는 ymmv 같아요.
Paul Cantrell

wc -l목록에서 148 줄을 '사용할 수 없음'과 128 개로 계산 했습니다. 위의 삭제 명령으로 14GB가 반환되었습니다
Craig

15

@fsb의 답변에도 불구하고 시뮬레이터 "인스턴스"를 삭제할 수 있지만 더 이상 필요하지 않은 오래된 시뮬레이터 플랫폼에서 사용하는 방대한 공간을 확보하는 올바른 방법은 다음 폴더로 이동합니다.

~/Library/Developer/Xcode/iOS DeviceSupport

더 이상 필요하지 않은 시뮬레이터 / 플랫폼에 해당하는 폴더를 제거하십시오.

또한 다른 팁과 다른 팁이 포함 된 매우 유용한 기사가 있습니다.


3
/Library/Developer/Xcode새로운 macOS 업데이트 이후에 제거 된 것 같습니다 . 어디서나 찾을 수 없습니다.
Suhaib

1
@Suhaib 는 홈 디렉토리에서 경로를 시작하게 하는 초기 물결표 " ~ " 를 잊어 버렸습니다 . 올바른 디렉토리는 다음과 같습니다 ~/Library/Developer/Xcode/iOS DeviceSupport.
Ricardo Barroso

6

Xcode가 2019+ Catalina, Xcode 11.0에서 시뮬레이터를 저장하는 위치

런타임

$ open /Library/Developer/CoreSimulator/Profiles/Runtimes

예를 들면 다음 iOS 13.0과 같습니다. , watchOS 6.0공간이 가장 많이 차지합니다. 각각 최대 5GB까지 가능

장치

$ open ~/Library/Developer/CoreSimulator/Devices

예를 들면 다음 iPhone Xr과 같습니다. , iPhone 11 Pro Max. 이들은 일반적으로 각각 <15mb입니다.

설명

시뮬레이터는 런타임과 장치로 나뉩니다. 실행 $ xcrun simctl list하면 개요를 볼 수 있지만 시뮬레이터의 실제 위치를 찾으려면이 디렉토리를 살펴보십시오.

지원하지 않는 런타임을 삭제하는 것이 안전합니다. 원하는 경우 나중에 다시 설치할 수 있습니다.


1
고마워요, 이것은 많은 도움이되었습니다!
19:49에

5
  • 모든 시뮬레이터를 나열 xcrun simctl list devices하거나xcrun simctl list --json

  • 특정 장치를 삭제하려면 xcrun simctl delete <device udid>

  • 더 이상 지원되지 않는 런타임의 오래된 장치를 제거하는 방법 xcrun simctl delete unavailable


xcrun simctl delete all내가 생각할 수 있습니다
revau.lt

1

Terminal.app를 열고 다음을 실행하십시오.

cd /Library/Developer/CoreSimulator/Profiles/Runtimes

이제 아래 명령에서 시뮬레이터를 제거하려는 iOS 버전을 입력하십시오 (예 : iOS 12.0의 경우 제거하려는 경우).

sudo rm -rf iOS\ 12.0.simruntime/


1

iOS 버전으로 시뮬레이터를 삭제하려면 :

특정 버전의 시뮬레이터 만 제거하고 fastlane설치 한 경우 대화식 루비 쉘을 시작하고 다음 명령을 실행하여 모든 iOS 10 시뮬레이터를 제거 할 수 있습니다.

# launch the interactive ruby shell (irb)
$ irb

# require the device manager capabilities of fastlane core
irb(main):001:0> require 'fastlane_core/device_manager'

# delete all iOS 10 simulators
irb(main):002:0> FastlaneCore::Simulator.delete_all_by_version(os_version: "10.0")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.