Preserve SwiftUI drafts and selection across resizing
Use one workflow to expose state resets during navigation, display changes and Split View.
A layout can look right and lose the user’s work
Type a draft, select a record and navigate into a detail view. Change the available space, then return. Verify the exact draft and selection, rather than only checking that a screen is visible. Use stable accessibility identifiers for the fields and actions you assert.
Review where state lives
Inspect view identity, conditional layout branches and the ownership of draft and selection state. State belongs to an appropriate stable owner for the journey; a visual change should not accidentally replace that owner. Multiple scenes need independent state, so a global shared selection is not a general solution.
Run one transition per recorded case
Separate navigation, outer-to-inner, inner-to-outer and each supported Split View change. Keep content and starting conditions controlled. Record Xcode build, runtime, destination, commit and transition. Do not credit a generic navigation test with proving fold behavior.
Start with a reproducible fixture
Download the transition pack, compile it in a disposable sample app, then adapt its workflow to your app. The navigation example can run unattended; the display-transition example requires manual Device Hub control and confirmation. The examples have not been executed on macOS by DuoReady.
Sources and limits
Our calculations and proposed test steps are independent analysis. Follow the original documentation for SDK-specific behavior.