When running an unmigrated Flutter app on iOS 27+, the tool spends 10 to 30+ seconds compiling the entire build, installs it, and then instantly crashes on launch because the OS requires the UIScene lifecycle. We can prevent this by adding a static pre check that inspects the project's Info.plist before the build compiler even starts.
We can implement this validation step inside packages/flutter_tools/lib/src/ios/mac.dart during build preparation (or as a static validator under lib/src/ios/migrations/) and that would allow us to fail early and print the migration warning immediately.
When running an unmigrated Flutter app on iOS 27+, the tool spends 10 to 30+ seconds compiling the entire build, installs it, and then instantly crashes on launch because the OS requires the UIScene lifecycle. We can prevent this by adding a static pre check that inspects the project's Info.plist before the build compiler even starts.
We can implement this validation step inside
packages/flutter_tools/lib/src/ios/mac.dartduring build preparation (or as a static validator under lib/src/ios/migrations/) and that would allow us to fail early and print the migration warning immediately.