> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basset.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# viewController.appear

> Every view controller that finishes appearing, in order

Intercepts `UIViewController`'s own appearance callback at load time, ahead
of the app's own implementation. One reading each time a screen finishes
appearing.

| | |
| - | - |
| [Delivery](/instruments/metadata) | stream, onChange |
| Mechanism | swizzle |
| [Requires](/instruments/metadata) | iOS 17+, basset 0.1.1+ |

Real output from `basset request get`, captured against a running app:

```
CAPTURED                  ELAPSED  INSTRUMENT

launch 194429250700832282
2026-08-23T15:02:35.933Z  +0.0s    uikit.viewController.appear(screen)
└─ viewControllerClass  UINavigationController
2026-08-23T15:02:35.934Z  +0.0s    uikit.viewController.appear(screen)
└─ viewControllerClass  DeviceViewController
2026-08-23T15:02:38.981Z  +3.0s    uikit.viewController.appear(screen)
└─ viewControllerClass  UINavigationController
2026-08-23T15:02:38.982Z  +3.0s    uikit.viewController.appear(screen)
└─ viewControllerClass  DomainListViewController
2026-08-23T15:02:44.291Z  +8.4s    uikit.viewController.appear(screen)
└─ viewControllerClass  InstrumentListViewController
2026-08-23T15:02:47.833Z  +11.9s   uikit.viewController.appear(screen)
└─ viewControllerClass  InstrumentViewController
2026-08-23T15:02:49.735Z  +13.8s   uikit.viewController.appear(screen)
└─ viewControllerClass  AppearedViewController
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.