Swiftui Navigation Architecture

Default navigation shape for SwiftUI Apps (iOS 26 / macOS 26, Swift 6) — value-based `NavigationStack(path:)` over a typed `Route` enum, one `@Observable @MainActor` Router in `.environment`, `navigationDestination(for:)` at the stack root (never in a lazy container), per-transition presentation semantics (push / sheet / `fullScreenCover` / popover / alert / root-swap) incl. macOS behavior (no native `fullScreenCover` → push fallback, pop-to-landing), `item:`-driven modal optionals, `.onOpenURL` deep-link funnel, `NavigationSplitView`, per-tab paths, `Codable` restoration. Invoke when wiring an App's navigation, choosing sheet vs cover vs push, adding deep links / restoration, migrating off `NavigationView`, or asked "router / coordinator in SwiftUI". Bugs → swiftui-interaction-footguns.

wei18 e567819 13.6 KB Updated

File contents

wei18/apple-dev-skills/tree/main/apple-dev-skills/skills/swiftui-navigation-architecture commit e567819cb1

Frequently asked questions

npx skillmds@latest add wei18/swiftui-navigation-architecture