Raise Flutter+iOS version requirements - #605
Conversation
Two floors land in the same bump. The UIScene plugin APIs this SDK is about to adopt -- the `FlutterSceneLifeCycleDelegate` protocol and `FlutterPluginRegistrar.addSceneDelegate:` -- first shipped in Flutter 3.38, and `UIScene` itself is iOS 13+. Flutter 3.44 then made Swift Package Manager the default dependency manager rather than the opt-in experiment it had been since 3.24, and that is the floor the upcoming CocoaPods -> SwiftPM migration needs: below it a consumer would have to turn on an experimental feature by hand just to build this plugin. So raise the Flutter floor straight to 3.44 (Dart 3.12) rather than 3.38, and pull the toolchain and CI up to 3.47.3, the current stable. Because 3.44+ migrates an Xcode project to SwiftPM the first time it builds, the example and test_integration apps pin `enable-swift-package-manager: false` in their pubspecs for now. That keeps this commit a version bump and lets the migration land as its own reviewable change, which drops those pins along with the Podfiles. Alongside the version bumps: - Drop two lints the newer analyzer rejects: `package_api_docs`, which was removed, and `avoid_null_checks_in_equality_operators`, now deprecated. Drop the two redundant `!` assertions in `codec.dart` it also flags. - Silence `prefer_initializing_formals`. Dart 3.13 extended it to private fields initialised from a named parameter, but `this._field` in a named parameter list is only legal under the off-by-default `private-named-parameters` experiment, so its seven reports have no fix. - Silence `experimental_member_use` on the example app's deliberate use of the experimental `Push.reset`. - Take the `build/`, `android/` and `ios/` analyzer excludes that `flutter pub get` now writes into `analysis_options.yaml` itself, rather than have the file churn on every fetch. - Gitignore `ios/Flutter/ephemeral/`, which Flutter generates in both example projects. - Regenerating the CocoaPods projects also drops stale Firebase, Toast and nanopb framework entries from the example's `project.pbxproj`; those pods are no longer in its Podfile. Groundwork for #592 and #602. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`dart format --set-exit-if-changed .` is a CI gate, and the formatter's output changed with the SDK bump in the previous commit, so the whole tree has to be reformatted. Kept as its own commit because it touches 134 files and none of it is behavioural -- review it separately from, or skip it alongside, the SwiftPM and UIScene work that follows. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 158 files, which is 58 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (158)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Minimum Flutter version set to
3.44and iOS deployment target to13.0to align with new plugin requirements (UISceneAPIs and SwiftPM) this is necessary changes for iOS, because of iOS requirments and CocoaPods EOL.