Skip to content

feat: update iOS template to use UIScene lifecycle for Flutter 3.38+ #1436

@AristideVB

Description

@AristideVB

Description

Flutter 3.38 adds official support for the Apple-mandated UIScene lifecycle.

At WWDC25, Apple announced that in the release following iOS 26, any UIKit app built with the latest SDK will be required to use the UIScene lifecycle, otherwise it will not launch.

Today, very_good_cli still generates iOS projects using the legacy AppDelegate lifecycle (no UIScene configuration in Info.plist). I’d like new apps created with very_good_cli to use the UIScene lifecycle by default so they’re aligned with Flutter 3.38+ and remain compatible with future iOS releases.

This would let teams start from a template that already follows current platform guidance, instead of having to migrate right after project creation.

Requirements

  • New iOS apps generated by very_good_cli use the UIScene lifecycle by default.
  • Generated Info.plist includes a valid UIApplicationSceneManifest configuration.
  • The iOS project builds and launches correctly on:
    • Latest stable Flutter (3.38+).
    • Latest iOS SDK / Xcode.
  • All CI/CD checks are passing.
  • There is no drop in the test coverage percentage.

Additional Context

  • Flutter provides:
    • Manual migration steps in the official docs.
    • An experimental automatic migration:
      flutter config --enable-uiscene-migration
  • Relevant announcement: What’s new in Flutter 3.38.
  • Updating the templates now would ensure that new projects created with very_good_cli are future-proof with respect to Apple’s UIScene requirement and Flutter’s current recommendations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureA new feature or request

    Type

    No type

    Projects

    Status

    Needs Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions