ARTICLE AD BOX
Has anyone else been getting reports of navigations breaking for a random subset of users since upgrading to Xcode 26?
Broadly, it seems that the SwiftUI navigation state falls out of sync with the app state (in our case TCA) and refuses to perform requested navigations.
We've now seen this manifest in 3 ways:
A .navigationDestination within a .sheet fails to push (but shows the button interaction and triggers other actions) A sheet inside a withViewStore inside a fullscreenCover appears and dismisses itself (looping forever). A button fails to display a popoverView, after an earlier permissions sheet appeared and then disappeared on its own before I could interact with it. In this case I was able to capture a memgraph (only once) which showed an orphaned/leaked PresentationHostingController<AnyView>, PresentationHostingController<AnyView>.HostingView, UIPopoverPresentationController, and _UIPopoverDimmingView. No popover or dimming view were visible so I believe this shows SwiftUI was interrupted and left in a broken state. Claude claims this was induced by TCA reconciling state while the alert was visible and tearing it down in some way that left SwiftUI out of the loop, but when I attempted to induce the condition manually I couldn't.In all cases the button that should trigger these navigations shows the user interaction and runs the other actions it triggers as expected. It is only the navigation that breaks.
Details of our app/situation:
We have a large complex app with ~800 TCA reducers under ~50 top-level features. This results in a complex feature and view hierarchy. Almost our entire app sits inside a tab bar, and most of that is at least one navDestination in. There is no reliable pattern across users, device types, iOS versions, feature flags, time of day, etc No developer has been able to reproduce case 1 ourselves, even with release builds, despite trying to hack the app to induce it. But it is by far the most common experienced by users. This seems isolated to iOS 26, but more specifically this only occurs if the app is compiled with Xcode 26.x. (we have many hundred to thousands of cases on Xcode 26, and 0 when we shipped a version that reverted to Xcode 16.4). That suggests it could be a compiler bug. There are a couple TCA issues that don't quite match but maybe there's overlap in root cause? This one is only Xcode 26.4 and our build is 26.2 and 26.3. this one loses actions entirely but the actions on our buttons do run - just not navigation).I've already posted on the TCA github, but this may be a wider SwiftUI issue so posting here as well.
We're really running out of ideas on how to reliably reproduce, or what we're doing wrong that's breaking SwiftUI.
Has anyone seen similar? Any advice on how to induce this for further debugging? Thank you! 🙏
2,1931 gold badge23 silver badges35 bronze badges
Explore related questions
See similar questions with these tags.
