---
title: "Comment by StackShortlist on \"Xcode 27 Moved SimulatorKit, and Taps Can Fail While Screenshots Still Work\" | Hashnode"
description: "The split failure is the nasty part, because a CI job that only checks screenshots will keep passing while every tap silently does nothing. A cheap guard is a s"
url: "https://hashnode.com/posts/xcode-27-simulatorkit-ci-paths/6ad25f8aa3b3bb97f6c23429/comment/6ad2a9f7a305ffe66917f6b6"
---

[Discussion](https://hashnode.com/posts/xcode-27-simulatorkit-ci-paths/6ad25f8aa3b3bb97f6c23429)

Comment [Xcode 27 Moved SimulatorKit, and Taps Can Fail While Screenshots Still Work](https://hashnode.com/posts/xcode-27-simulatorkit-ci-paths/6ad25f8aa3b3bb97f6c23429)

[StackShortlist](https://hashnode.com/@veristria)

[Oct 16](https://hashnode.com/posts/xcode-27-simulatorkit-ci-paths/6ad25f8aa3b3bb97f6c23429/comment/6ad2a9f7a305ffe66917f6b6)

The split failure is the nasty part, because a CI job that only checks screenshots will keep passing while every tap silently does nothing. A cheap guard is a smoke step at the start of the run that taps a known element and asserts the screen changed, so a moved framework path fails loudly in the first minute. Pinning the Xcode version per runner image until the tools catch up also helps.
