直到昨天,Xcode的一切正常。它将模拟器显示为:
但是今天,当我打开它时,模拟器列表变为:
每个模拟器都可以看到两次,名称后跟一个唯一的ID。我还观察到同样名为Simulator的也是两个不同的实例。
任何人都可以帮助我,如何摆脱这个?或者如何重置它。它给人一种奇怪的感觉。
任何建议都会有所帮助。
答案 0 :(得分:64)
我有一种更简单的方法可以解决这个问题。
运行以下命令:
xcrun simctl list devices | grep -v '^[-=]' | cut -d "(" -f2 | cut -d ")" -f1 | xargs -I {} xcrun simctl delete "{}"
答案 1 :(得分:64)
来自sunnyxx's weibo的解决方案:
1.quit Xcode和iOS模拟器
2。killall -9 com.apple.CoreSimulator.CoreSimulatorService
3。rm -rf ~/Library/Developer/CoreSimulator/Devices
4.reopen Xcode
编辑: sudo 似乎没有必要杀死SimulatorService。此解决方案将删除所有存在的模拟器并重新创建所有可用的版本和类型模拟器。
答案 2 :(得分:13)
您可以使用以下命令:
snapshot reset_simulators
如果您尚未安装快照:
sudo gem install snapshot
。
有关快照的更多信息,请访问:https://github.com/krausefx/snapshot#installation
答案 3 :(得分:12)
在更新时,看起来大量的模拟器被拆分为单独的设备。因此,您想要做的就是减少输出决定列表。
要查看模拟器列表,请在菜单栏上转到:窗口>设备。在这里,您将看到输出列表中显示的所有模拟器。没有理由不通过添加所需的模拟器来删除和重新开始
答案 4 :(得分:7)
使用以下命令转到终端查看模拟器列表:
xcrun simctl list
使用id删除重复项:
xcrun simctl delete <ID>
E.g。
xcrun simctl delete 4B645F13-D130-412D-8EB4-B49BE7E2D7DA
答案 5 :(得分:7)
通过进入Menu-&gt; Window-&gt; Devices并删除重复项来修复它(如果您看到iPhone 6的多个模拟器,例如删除除了一个之外的所有模拟器)。
答案 6 :(得分:6)
Doz的oneliner很好,但提取它们UUID模拟器的部分在某些iPad设备上失败,例如'iPad Pro(12.9英寸)',因为它们的名称中有括号。我重写了使用grep而不是cut来解释这个问题:
xcrun simctl list devices | grep -o '[A-F0-9]\{8\}-[A-F0-9]\{4\}-[A-F0-9]\{4\}-[A-F0-9]\{4\}-[A-F0-9]\{12\}' | xargs -I {} xcrun simctl delete "{}"
答案 7 :(得分:2)
我最终创建了一个删除Xcode模拟器重复项的脚本: