Pro Tip iPad Windows Special Edition™
If you use SceneDelegate to know when your app is active/inactive or foreground/background, you're going to need to look at that code on iPadOS 26: the delegate messages aren't called like on iPhone.
(Tip: set sound breakpoints in SceneDelegate and run your app to understand where they happen.)
You'll want to use a view's traitCollection to monitor activeAppearance, and do any syncing/backup when .inactive is detected. It acts like a Mac now.