SDL3 and SwiftUI both assume they own the app lifecycle. When they coexist on iOS/tvOS/macOS, three specific collisions occur: SDL steals the keyboard, game controller input leaks through to the game while a dialog is open, and the B button dismisses dialogs without notifying the app. This is a minimal working example with fixes for all three.
SDL3 and SwiftUI both assume they own the app lifecycle. When they coexist on iOS/tvOS/macOS, three specific collisions occur: SDL steals the keyboard, game controller input leaks through to the game while a dialog is open, and the B button dismisses dialogs without notifying the app. This is a minimal working example with fixes for all three.