从终端杀死 iOS 模拟器

问题描述 投票:0回答:6

我试图从终端控制台终止 iOS 模拟器(需要在 Jenkins 中集成自动 UI 测试),但每次我尝试以下命令时:

killall SimulatorBridge

显示等待操作的提示: enter image description here

问题在于,在对提示采取操作之前,模拟器不会被关闭。如何摆脱它?

terminal jenkins simulator kill prompt
6个回答
46
投票

关闭模拟器的正确方法是

xcrun simctl shutdown all

我不建议通过杀死 CoreSimulator 来关闭模拟器。

Simulator.app 只是一个查看器(从 Xcode 9 开始)。它不需要启动,因此也不需要关闭。它将响应设备自动启动和关闭。

您还可以在退出时按住 Option 以脱离正在运行的模拟器,而无需关闭它们。选中复选框以使其成为默认行为。

同样,您可以在通过“文件”、“关闭”关闭窗口时按住 Control 键,以在关闭单个模拟器窗口时获得类似的选择。


37
投票

使用

killall "iPhone Simulator"

对于 XCode 6,请使用

killall "iOS Simulator"
(感谢@gempewsaw)

使用 XCode 7,使用

killall "Simulator"
(感谢@Stanislaw)

使用XCode 8,杀死模拟器进程有时是不够的,还需要杀死进程

com.apple.CoreSimulator.CoreSimulatorService
(感谢@bensnider)


5
投票

我同意上面的答案。只是想补充一点,我注意到当没有模拟器可以杀死时我的詹金斯工作失败了。我通过像这样添加它来解决这个问题:

killall "iOS Simulator" || echo "No matching processes belonging to you were found"

祝你的ci好运!


3
投票

请尝试

killall -9 "iPhone Simulator"

2
投票

您可以终止从命令行运行的模拟器。

killall "Simulator" || true


0
投票

在 Sonoma 14.1 上,我似乎遇到了很多孤立的核心模拟器进程。

这对我来说把他们都杀了:

ps -ax | grep CoreSimulator | cut -d " " -f 1 | xargs sudo kill -9

© www.soinside.com 2019 - 2024. All rights reserved.