我试图从终端控制台终止 iOS 模拟器(需要在 Jenkins 中集成自动 UI 测试),但每次我尝试以下命令时:
killall SimulatorBridge
显示等待操作的提示:
问题在于,在对提示采取操作之前,模拟器不会被关闭。如何摆脱它?
关闭模拟器的正确方法是
xcrun simctl shutdown all
。
我不建议通过杀死 CoreSimulator 来关闭模拟器。
Simulator.app 只是一个查看器(从 Xcode 9 开始)。它不需要启动,因此也不需要关闭。它将响应设备自动启动和关闭。
您还可以在退出时按住 Option 以脱离正在运行的模拟器,而无需关闭它们。选中复选框以使其成为默认行为。
同样,您可以在通过“文件”、“关闭”关闭窗口时按住 Control 键,以在关闭单个模拟器窗口时获得类似的选择。
使用
killall "iPhone Simulator"
对于 XCode 6,请使用
killall "iOS Simulator"
(感谢@gempewsaw)
使用 XCode 7,使用
killall "Simulator"
(感谢@Stanislaw)
使用XCode 8,杀死模拟器进程有时是不够的,还需要杀死进程
com.apple.CoreSimulator.CoreSimulatorService
(感谢@bensnider)
我同意上面的答案。只是想补充一点,我注意到当没有模拟器可以杀死时我的詹金斯工作失败了。我通过像这样添加它来解决这个问题:
killall "iOS Simulator" || echo "No matching processes belonging to you were found"
祝你的ci好运!
请尝试
killall -9 "iPhone Simulator"
您可以终止从命令行运行的模拟器。
killall "Simulator" || true
在 Sonoma 14.1 上,我似乎遇到了很多孤立的核心模拟器进程。
这对我来说把他们都杀了:
ps -ax | grep CoreSimulator | cut -d " " -f 1 | xargs sudo kill -9