
Change the following in the `flutter create` templates. I didn't make any auto-migrations for existing apps because none seem that critical: 1. Turn on `ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS` in iOS and macOS. 1. Turn on `BuildIndependentTargetsInParallel` in macOS template. https://github.com/flutter/flutter/pull/125827/files#r1181817619 1. Turn on `DEAD_CODE_STRIPPING` in macOS template. 1. Set `ENABLE_USER_SCRIPT_SANDBOXING=NO` in iOS and macOS template. `flutter` scripts don't work with this on. This might require a migration in the future to explicitly turn this one off. However at least for now if the setting isn't present it defaults to `NO`. Add migration for `LastUpgradeVersion` so users won't see these validation issues in Xcode. Run migrator on all the example apps. A few aren't Flutter apps so I edited them in Xcode. Fixes https://github.com/flutter/flutter/issues/140253 See also https://github.com/flutter/flutter/issues/125817 and https://github.com/flutter/flutter/pull/90304.
microbenchmarks
To run these benchmarks on a device, first run `flutter logs' in one window to see the device logs, then, in a different window, run any of these:
flutter run --release lib/gestures/velocity_tracker_bench.dart
flutter run --release lib/gestures/gesture_detector_bench.dart
flutter run --release lib/stocks/animation_bench.dart
flutter run --release lib/stocks/build_bench.dart
flutter run --release lib/stocks/layout_bench.dart
The results should be in the device logs.
Avoid changing names of the benchmarks
Each microbenchmark is identified by a name, for example, "catmullrom_transform_iteration". Changing the name of an existing microbenchmarks will effectively remove the old benchmark and create a new one, losing the historical data associated with the old benchmark in the process.