如何通过 CLI 擦除 Xcode 10 模拟器克隆?

How do I erase an Xcode 10 simulator clone through CLI?

他们共享相同的 UDID 吗? 它们是如何在幕后实施的?

场景是我有 4 个并行的克隆 运行 UI 测试。我需要一个干净的模拟器来进行一些测试(但想保持随机测试顺序)

在 mac 打开 Xcode 的状态栏上,转到 Windows-> 设备和模拟器。在那里你会看到所有可用模拟器的列表,你可以从那里添加新的或删除现有的。

您可以通过以下方式重置所有模拟器: xcrun simctl 全部擦除

要重置特定的模拟器,请使用: xcrun simctl erase your_simulator_id

我无法通过 simctl 找到与克隆模拟器的任何接口。您可以通过删除 ~/Library/Developer/XCTestDevices 下的文件夹来完全删除它们。他们每个人都有自己的 UUID,但据我所知,他们并没有在 simctl 中列出。

您可以像这样列出克隆: xcrun simctl --set testing list

但每次我尝试将设备 ID 与 xcrun 命令一起使用时,它们都会失败并显示 Invalid device: <device id>

删除所有测试模拟器的命令(之后您需要重新启动Xcode):

xcrun simctl --set testing delete all

总的来说,最好只重置那些 sims(之后你不需要重新启动):

xcrun simctl --set testing shutdown all
xcrun simctl --set testing erase all

要擦除特定的人,您首先需要使用 list devices 获取他的 ID,然后关机并擦除:

xcrun simctl --set testing list devices
xcrun simctl --set testing shutdown 2BC2B50E-C4BA-45B9-9C73-AF5097BA1F0B
xcrun simctl --set testing erase 2BC2B50E-C4BA-45B9-9C73-AF5097BA1F0B

感谢 Scott McCoy 的回答。