🍎 Deep Dive · Intermediate

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.

Diagram: UIScene iOS Lifecycle

What Flutter 3.47 changes

  • Minimums rise: iOS 15, macOS 12 (from 13 / 10.15).
  • The CLI migrates typical AppDelegate setups automatically.
  • Manual work remains if you customized lifecycle hooks or use plugins that still assume the old model.

Migration checklist

  1. Update Xcode and Flutter to the supported pair.
  2. Clean build and look for CLI migration output.
  3. Audit plugins for UIApplicationDelegate-only APIs.
  4. 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.
#Flutter#iOS#UIScene#Xcode