2012-05-31 219 views
136

我正在運行最初僅支持iOS 5.1的Xcode 4.3.1 iOS-Simulator。Xcode模擬器:如何刪除舊的不需要的設備?

我需要的iOS 4.3測試我的代碼,所以我使用Xcode的「安裝」功能來安裝它作爲"Installing Xcode with iOS 4.3 device simulator?"

現在,我完成了測試的描述,但不能找到一種方法來卸載4.3部分(「iPhone 4.3模擬器」和「iPad 4.3模擬器」)。我想減少Scheme菜單中的混亂。

Apple的Xcode listserv沒有人知道答案!

編輯:請注意,自Xcode 4.3以來有很多改變,所以建議任何人讀這個看所有的答案。像史蒂夫莫澤這樣的最新作品可能對你更有用!

編輯2017分之10:在Twitter上發佈的胡里奧Carrettoni

如果你是一個iOS開發者,執行此:
$ xcrun simctl delete unavailable
它刪除舊模擬器的Xcode不再使用。對我來說是的6Gb 沒有嘗試自己...

[此外,我剛纔看到拉斯主教已經在下面的評論中提到這...]

回答

140

你有沒有試過只是刪除4.3 Xcode包內的SDK?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

也請刪除

〜/庫相應的.dmg文件/Caches/com.apple.dt.Xcode/Downloads

to prevent Xcode from re-installing再次相同的包。


爲的XCode> = 6見 @praveen-matanam 's answer

+2

你是天才!非常感謝!不能相信在Xcode listserv不知道這一點。我在幾個地方看,但不是你建議的地方。 –

+0

這不適用於xcode 4.5.2。一旦你再次啓動編譯器,它會要求你再次安裝舊的舊設備。取消將退出xcode,因此您不得不再次安裝。 –

+0

這是正確的亞歷杭德羅,蘋果似乎已經改變了「許可證事情」,以便您始終需要一個有效的開發人員帳戶,並且您必須一次又一次安裝應用程序內的每個重大更新的所有擴展..遺留系統也大多不支持; ( –

23

的Xcode 4.6會提示你重新安裝所有舊版本的iOS模擬器,如果你只是刪除SDK。爲了避免這種情況,您還必須刪除Xcode緩存。然後,您不會被迫在啓動時重新安裝較舊的SDK。

要刪除的iOS 5.0模擬器,刪除這些,然後重新啓動的Xcode:

  1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/PhoneSimulator5.0.sdk
  2. 〜/圖書館/緩存/ com.apple.dt.Xcode

例如,做一個乾淨的安裝的Xcode後,我安裝的Xcode的喜好了iOS 5.0模擬器。後來,我決定5.1已經足夠,但無法刪除5.0版本。 Xcode一直強迫我在啓動時重新安裝它。刪除緩存文件和SDK後,它不再詢問。

+2

確認;這適用於Xcode 4.6。謝謝! –

+1

稍微更精確的答案[這裏](http://stackoverflow.com/a/11790983/209371),雖然我還沒有自己測試過。 –

1

您可以做的另一件事是將部署目標更改爲最高值。這將阻止Scheme菜單顯示舊版本。

要這樣做,請轉到: Target-> Summary然後更改部署目標。

+0

也許事情發生了變化,因爲我發佈了這個問題,但是當我這樣做時,您會在Scheme菜單中看到不同的模擬器,而選擇正確的模擬器會很複雜。 –

169

在Xcode 6+中,您可以簡單地進入菜單>窗口>設備>模擬器,然後刪除您不需要的模擬器。

+1

這個問題在版本4和大概5中是相關的。正如你所看到的那樣很難。自那以後,我避免使用舊的模擬器。 –

+2

這是正確的。如果你想要模擬器「真的走了」,或者重新安裝它們在Xcode - >首選項 - >下載,你必須刪除模擬器運行時間,如下所示http://stackoverflow.com/a/30206853/1344293 – mathz

+0

謝謝這是管理模擬器的最簡單方法。而不是從xcode文件夾中刪除模擬器。這適用於我:) – Chirag

114

在Xcode 6及更高版本中,您可以從路徑/Library/Developer/CoreSimulator/Profiles/Runtimes中找到並刪除模擬器。重新啓動Xcode才能生效(可能不需要)。

+1

從Xcode 6.4開始,您不需要重新啓動。 – orta

+0

6.4這裏。需要重啓我的機器才能生效。 – aasatt

+2

7.2 - 無需重新啓動 – TheEye

4

除了@ childno.de答案,你的Mac目錄

/private/var/db/receipts/

可能仍包含過時iPhoneSimulatorSDK .bom.plist文件是這樣的:

/private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.bom /private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.plist

這些可能會使Xcode偏好設置的「下載」選項卡顯示該過時模擬器版本的勾號()。

要清除不需要的模擬器,你可以從你的Mac終端做使用這個bash命令搜索:

sudo find/-name "*PhoneSimulator*"

然後進入到相應的目錄手工刪除不需要的SimulatorSDKs

2

這些答案的問題在於,每次更新Xcode時,菜單和位置都會改變。

只要去/Applications/Xcode.app/Contents/Developer/Platforms並刪除你不需要的東西。 Xcode將開始正常。如果您對此感到擔憂,那麼您可以簡單地從垃圾箱中恢復。

+2

我嚴重懷疑Xcode是否下載了你要求它捆綁的模擬器。他們肯定會進入用戶庫,不是嗎? –

+0

對於每個平臺(iOS,watchOS,AppleTVOS,MacOS),我有2個文件夾:我有「iPhoneOS.platform」和「iPhoneSimulator.platform」我想刪除哪一個?我與同事檢查,他有他們兩個,但沒有問題。原因我實際上在這裏是因爲[這個問題](http://stackoverflow.com/questions/39856001/xcode-8-beta-simulator-無法運行應用程序後意外運行xcode8-simula)和有人告訴我,這是因爲我有2個模擬器/ Xcode,但如果我不正確,我已經刪除了我的其他版本的Xcode,還我刪除了9.3運行時... – Honey

+0

請請不要這樣做。沒有人應該搞亂Xcode包內的內容。 – russbishop

35

在終端中運行此命令以刪除無法從您的計算機上正在使用的當前版本的Xcode(8+?)訪問的模擬器。

xcrun simctl delete unavailable

+2

謝謝!很顯然,最初的問題是Xcode 4,所以從那時起事情就發生了很大變化! –

+1

它爲我釋放了近20GB。謝謝 –

1

我試過所有的答案。他們都沒有爲我工作。

什麼工作對我來說塞拉利昂+的Xcode 8.2正想:

/Library/Developer/CoreSimulator/Devices和刪除所有設備。

(也許這不會爲你工作,也許這是一個解決方案作爲一個獨立的,或者你必須這樣做,除了其他的答案,但我在這裏等不知道該怎麼做了做了所有的解決方案契稅)。請注意,這裏的一些答案是舊的,模擬器的位置已經改變。 Snowcrash's answer似乎是最近的。

+0

我可以假設你先關閉Xcode,這樣做,然後重新啓動Xcode? –

+0

@DavidH對不起,我不記得我做了什麼。我有這個問題3-4周。每當它在項目/模擬設備之間切換時發生......我只是嘗試了一切,這似乎是爲我做的......再次,它可以爲你另外一件事 – Honey

+0

@DavidH你也嘗試過嗎? ](http://stackoverflow.com/a/30206853/5175709) – Honey

3

在XCode打開窗口 - 設備,然後選擇並刪除過時的模擬器。

6

我有同樣的問題。我的MacBook耗盡了空間。根本原因是xCode保留了舊的iOS版本。刪除舊的設備模擬器沒有幫助。

iOS版本使用75GB的空間+7GB的xCode 9.1。

刪除您不想要的iOS版本並釋放磁盤空間。 enter image description here

+0

我計算9G以上 - 你是如何恢復75G? –

+0

嗨@DavidH - 75GB在我清理之前。由於我一直在使用xCode多年,xCode默默地在我的機器上安裝了iOS 7,8,9和10的所有變體。實際上,我可能只需要iOS10和iOS11。 – rustyMagnet

+1

我刪除了20GB! (非常感謝) – MadeInMoon

21

2017年九月,的Xcode 9

運行時

您將在這裏找到他們:

/Library/Developer/CoreSimulator/Profiles/Runtimes 

enter image description here

設備

臺刪除設備去這裏:

~/Library/Developer/CoreSimulator/Devices 

更容易刪除它們使用的Xcode: Xcode->窗口 - >設備和模擬器 enter image description here

幫助Xcode的「忘記」關於運行時間和重新防止安裝它們 - 刪除.dmg文件(S)位置:

~/Library/Caches/com.apple.dt.Xcode/Downloads 

我希望這會幫助別人

+3

請不要從文件系統中刪除設備;使用'xcrun simctl delete '。您也可以運行'xcrun simctl delete unavailable'來刪除不再支持的運行時的舊設備。 – russbishop

+0

我沒有〜/ Library/Caches/com.apple.dt。Xcode/Downloads(〜/ Library/Caches/com.apple.dt.Xcode /中沒有下載文件夾),想知道爲什麼 – auspicious99

0

命令+空格

類型「仿真」

打開舊測試模擬器,你不再需要的。

它在碼頭「在Finder中顯示」

關閉應用程序單擊鼠標右鍵,然後選擇選項>,然後從文件夾中刪除它。

:)

相關問題