我正在运行Xcode 4.3.1 iOS-Simulator,它最初只支持iOS 5.1。
我需要使用iOS 4.3测试我的代码,所以我使用了Xcode"安装"如"Installing Xcode with iOS 4.3 device simulator?"
中所述安装它的功能现在我已完成测试但无法找到卸载4.3部分的方法(" iPhone 4.3模拟器"和#34; iPad 4.3模拟器")。我想减少Scheme菜单中的混乱。
Apple的Xcode listserv上没有人知道答案!
编辑:请注意,自Xcode 4.3以来已经发生了很多变化,因此建议任何人阅读此内容以了解所有答案。像Steve Moser这样的最新版本可能对你有用!
编辑10/2017:由Julio Carrettoni在Twitter上发表
如果您是iOS开发人员,请执行以下操作:
$ xcrun simctl delete unavailable
它删除了Xcode不再使用的旧模拟器。对我来说这是6Gb 没试过自己......
[另外,我刚刚看到Russ Bishop在下面的评论中提到了这个......]
答案 0 :(得分:193)
在Xcode 6+中,您只需转到菜单>窗口>装置>模拟器并删除您不需要的模拟器。
答案 1 :(得分:157)
您是否尝试过从Xcode包中删除4.3 SDK?
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
请同时删除
中相应的.dmg文件再次〜/库/缓存/ com.apple.dt.Xcode /下载
到prevent Xcode from re-installing同一个包裹。
对于XCode> = 6,请参阅 @praveen-matanam 's answer
答案 2 :(得分:136)
在Xcode 6及更高版本中,您可以从路径/Library/Developer/CoreSimulator/Profiles/Runtimes
中找到并删除模拟器。重启Xcode以便生效(可能不需要)。
答案 3 :(得分:80)
如上所述,您可以使用xcrun
做一些事情:
xcrun simctl list devices
或xcrun simctl list --json
列出所有模拟器xcrun simctl delete <device udid>
删除特定设备xcrun simctl delete unavailable
删除不再支持的运行时旧设备使用xcrun
可以执行的更多操作(请参阅代码段)
- `xcrun simctl boot <device udid>` to launch (multiple) simulators
- `xcrun simctl io booted recordVideo — type=mp4 ./test.mp4` to record simulator video
- `xcrun simctl io booted screenshot ./screen.png` to make screenshot of simulator
- `xcrun simctl openurl booted https://google.com` to open URL in simulator
- `xcrun simctl addmedia booted ./test.mp4` to upload photo or video file (for photos app)
- `xcrun simctl get_app_container booted <your apps bundle identifier>` to find the app container (where identifier is like *com.bundle.identifier*)
- `xcrun simctl help` to explore **more** commands
2017年9月, Xcode 9
你会在这里找到它们:
/Library/Developer/CoreSimulator/Profiles/Runtimes
要删除设备,请转到此处:
~/Library/Developer/CoreSimulator/Devices
使用Xcode更容易删除它们: Xcode-&gt; Window-&gt;设备和模拟器
帮助Xcode“忘记”运行时并阻止重新安装 - 删除.dmg文件:
~/Library/Caches/com.apple.dt.Xcode/Downloads
我希望它会帮助某人
答案 4 :(得分:67)
在终端中运行此命令,以删除无法从您机器上正在使用的当前版本的Xcode(8+?)访问的模拟器。
xcrun simctl delete unavailable
此外,如果您想要回收模拟器相关空间Michael Tsai,发现删除SIM日志会为他节省30 GB。
~/Library/Logs/CoreSimulator
答案 5 :(得分:24)
如果您删除SDK,Xcode 4.6将提示您重新安装任何旧版本的iOS模拟器。为避免这种情况,您还必须删除Xcode缓存。然后,您不会被迫在启动时重新安装旧SDK。
要删除iOS 5.0模拟器,请删除它们,然后重新启动Xcode:
例如,在彻底安装Xcode之后,我从Xcode首选项安装了iOS 5.0模拟器。后来,我认为5.1已经足够但无法删除5.0版本。 Xcode一直强迫我在发布时重新安装它。删除缓存文件和SDK后,它不再询问。
答案 6 :(得分:14)
我遇到了同样的问题。我的空间不多了。删除旧设备模拟器没有帮助。
我的太空问题是由xCode引起的。自从我安装了xCode以来,它保留了所有iOS版本。
删除你不想要的iOS版本并释放磁盘空间。我节省了50GB +的空间。
答案 7 :(得分:5)
按照此处的某些答案,从我的xcode菜单>窗口>设备>模拟器中删除一些模拟器,模拟器并没有帮助我快要死掉的磁盘空间:
但是,通过转到/Users/abdullah/Library/Developer/Xcode/iOS DeviceSupport
并运行du -sh *
,我得到了所有这些家伙:
2.9G 10.0.1 (14A403)
1.3G 10.1.1 (14B100)
2.9G 10.3.2 (14F89)
1.3G 10.3.3 (14G60)
1.9G 11.0.1 (15A402)
1.9G 11.0.3 (15A432)
2.0G 11.1.2 (15B202)
2.0G 11.2 (15C114)
2.0G 11.2.1 (15C153)
2.0G 11.2.2 (15C202)
2.0G 11.2.6 (15D100)
2.0G 11.4 (15F79)
2.0G 11.4.1 (15G77)
2.3G 12.0 (16A366)
2.3G 12.0.1 (16A404)
2.3G 12.1 (16B92)
总共33 GB!
随后发生了洗血
查看更多详细信息here
答案 8 :(得分:5)
除了@ 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*"
然后转到相应的目录以手动删除不需要的SimulatorSDK
答案 9 :(得分:3)
在XCode中打开Window - Devices,然后选择并删除过时的模拟器。
答案 10 :(得分:2)
我尝试了所有答案。他们都没有为我工作。
在Sierra + Xcode 8.2上对我有用的是:
/Library/Developer/CoreSimulator/Devices
并删除所有设备。
(也许这对你不起作用,也许这个 是一个独立的解决方案,或者除了其他答案你可能还需要这样做,但我在这里做了所有的解决方案所以不知道这件事是做什么的。请注意,这里的一些答案是旧的,模拟器的位置已经改变。 Snowcrash's answer似乎是最新的。
答案 11 :(得分:2)
您可以做的另一件事是将部署目标更改为最高值。这将阻止Scheme菜单显示旧版本。
要做到这一点,请访问: Target-&gt; Summary然后更改部署目标。
答案 12 :(得分:1)
这些答案的问题在于,每次Xcode更新,菜单和位置都会发生变化。
转到/Applications/Xcode.app/Contents/Developer/Platforms
并删除不需要的内容。 Xcode会好起来的。如果您有任何疑虑,那么您只需从垃圾箱中恢复即可。
答案 13 :(得分:1)
我写了一行bash脚本,该脚本会删除 ALL 您的模拟器:
xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 xcrun simctl delete
xcrun simctl list devices
将列出您计算机上安装的所有模拟器grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})"
将获取设备UUID xargs -L1 xcrun simctl delete
将尝试针对找到的每个UUID删除设备如果要查看将执行的所有内容,可以在echo
之前添加xcrun
,即
xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 echo xcrun simctl delete
答案 14 :(得分:1)
有些人尝试使用一种方法来修复它,而另一些则尝试。基本上,有2个问题,如果您将它们检出并解决这两个问题,则有99%的问题应该可以解决:
位于YOUR_MAC_NAME
(例如Macintosh
)-> Users
-> YOUR_USERNAME
(daniel
)-> {{1 }}-> Library
-> Developer
-> Xcode
。离开那里,最新的消息,到今天为止是iOS Device Support
,但将来会有所变化。 iOS版本的最高编号(此处为13.2.3 (17B111)
)表示它较新。
在此列表之后,通过运行13.2.3
在Terminal
中列出您的设备。其中许多可能是xcrun simctl list devices
,因此请通过运行unavailable
将其删除。它还将释放一些空间。为确保一切正常,请运行xcrun simctl delete unavailable
再次检查。您应该只能看到最新版本(此处为xcrun simctl list devices
)中的设备,如下面的屏幕截图所示。
作为奖金,与该问题的相关性略低,但仍有一些空间。转到13.2.3
(例如YOUR_MAC_NAME
)-> Macintosh
-> Users
(例如YOUR_USERNAME
)-> daniel
-> {{1} }-> Library
-> Developer
。您会看到许多已存档的已部署应用程序,很可能不需要全部。尝试删除这些不再使用的文件。
使用这两种方法和红利方法,我可以在Mac上额外获得15 GB的空间。
PS。只需通过转到Xcode
-> Archives
-> Xcode
-> Window
(或简单地Devices and Simulators
+ Simulators
+ { {1}}(使用键盘快捷键)并将其删除将无济于事。您确实需要执行上述步骤。
答案 15 :(得分:1)
在Mac上,检查/ Library / Developer / Xcode / iOS \ DeviceSupport
答案 16 :(得分:1)
您可以使用以下代码段删除不可用的运行时:
PCollection<KV<Integer, String>> bod = stringCollec.
apply("addTime",WithTimestamps.of(us -> new Instant()))
.apply("Add Keys", ParDo.of(new AssignRandomKeys(3)));
bod.apply(
Window.<KV<Integer, String>>into(FixedWindows.of(Duration.standardSeconds(4)))
.triggering(Repeatedly.forever(AfterProcessingTime.pastFirstElementInPane().plusDelayOf(Duration.standardSeconds(1)))).withAllowedLateness(Duration.ZERO).discardingFiredPanes())
.apply(GroupIntoBatches.ofSize(BATCH_SIZE))
.apply("extract", ParDo.of(new DoFn<KV<Integer, Iterable<String>>, String>() {
@ProcessElement
public void process(ProcessContext c) {
//send one full batch to API
}));
要执行,请删除echo "rm -rf $(xcrun simctl list runtimes -j |\
jq ".runtimes[] | select(.isAvailable|not) | .bundlePath" | xargs)"
或在末尾添加echo
。
如果您没有| bash
命令,可以使用jq
答案 17 :(得分:1)
打开Xcode->转到窗口(从菜单栏)->设备和模拟器 ->单击模拟器->右键单击要删除的模拟器->单击删除
要删除以前通过Xcode作为额外组件安装的不需要的模拟器。
打开终端
键入 打开/ Library / Developer / CoreSimulator / Profiles / Runtimes
删除不需要的模拟器
答案 18 :(得分:-1)
命令+空格
输入'模拟器'
打开您不再需要的旧beta模拟器。
在停靠栏中右键单击它,然后选择选项&gt;'在Finder中显示'
关闭应用,然后将其从文件夹中删除。
:)