UIScene lifecycle: the iOS 27 launch requirement Flutter apps must meet
Apple’s scene-based lifecycle is no longer optional for apps built with the latest SDKs. iOS 27 / Xcode 27 will fail launches for UIKit apps that do not adopt UIScene.
What Flutter 3.47 changes
- Minimums rise: iOS 15, macOS 12 (from 13 / 10.15).
- The CLI migrates typical
AppDelegatesetups automatically. - Manual work remains if you customized lifecycle hooks or use plugins that still assume the old model.
Migration checklist
- Update Xcode and Flutter to the supported pair.
- Clean build and look for CLI migration output.
- Audit plugins for UIApplicationDelegate-only APIs.
- Test cold start, background→foreground, and permission dialogs.
Pitfalls
- “It launches in the simulator” is not enough — test a device with the new SDK.
- Deep links and notification handlers often live in lifecycle code; retest them.