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