Automatic capture
The SDK names a screen after its hosting view controller class, captured automatically when that view controller appears. For UIKit apps, this is almost always exactly what you want:CheckoutViewController reads as “Checkout.”
Why pure SwiftUI apps get mushy names
SwiftUI views don’t have their own view controllers — aUIHostingController is the actual
class the automatic capture sees, and one hosting controller often wraps several
nested or modified SwiftUI views. The result is a screen name like HostingController that
tells you nothing about which screen it actually was, especially in an app built entirely in
SwiftUI where most or all of your screens share that same generic wrapper.
Fix it: tag the screen
Override the automatic name per-view with the.tappifyScreen(_:) modifier:
Tappify.tagScreen(_:) directly from anywhere — for example, from a
UIKit viewDidAppear override — for the same effect. Both are documented in full in the
API reference.
There’s no silent fallback here by design: the overlay always displays the raw screen
identifier it’s using, so a bad auto-generated name is visible in the thread list rather
than hidden. If you see an unhelpful name, that’s your signal to tag that screen.