feat!: update to AGP 9 (android) + SwiftPM (ios/macos) - #33
Merged
Conversation
Add Package.swift for flutter_file_manager_ios and flutter_file_manager_macos and restructure sources under Sources/<package>/. Keep podspecs for dual SPM/CocoaPods support with updated source_files paths. - iOS: drop ObjC registration wrapper; Swift FlutterFileManagerIosPlugin is now the pluginClass directly - Bump deployment targets (iOS 9->12, macOS 10.11->10.14) - Repoint pigeon swiftOut to new Sources directories - Ignore .build/ and .swiftpm/
Migrate the Android plugin to built-in Kotlin per the Flutter 3.44
breaking change, required for Android Gradle Plugin 9+.
- Convert plugin Android Gradle files to Kotlin DSL (.gradle.kts)
- Remove kotlin-android plugin and kotlinOptions; use kotlin {
compilerOptions { jvmTarget } } block
- Update Gradle 9.1.0, AGP 9.0.1, Kotlin 2.3.20, compileSdk 36, NDK
28.2.13676358; unify jvmTarget to 17
- Bump flutter_file_manager_android to 3.0.0 (min Flutter 3.44 / Dart
3.12); update umbrella flutter_file_saver to 1.0.0
- Add git dependency_override for flutter_file_manager_android to the
arxdeus fork until 3.0.0 is published
BREAKING CHANGE: minimum supported SDK is now Flutter 3.44 / Dart 3.12.
- Removed the 'use_if_null_to_convert_nulls_to_bools' rule from analysis options in both flutter_file_manager_android and flutter_file_saver. - Updated error handling in flutter_file_manager_web to catch a more general Object type instead of web.DOMException.
(cherry picked from commit 4d9ce3c)
TesteurManiak
requested changes
Jun 23, 2026
TesteurManiak
left a comment
Owner
There was a problem hiding this comment.
Thanks for the contribution, I'll test it as soon as I have time. There's a few nitpicks and questions that I've added.
Closed
- Added 'invalid_runtime_check_with_js_interop_types' to the analysis options with an ignore level. - Removed the ignore directive for 'invalid_runtime_check_with_js_interop_types' from the flutter_file_manager_web.dart file.
SPM compiles each Swift file independently, so per-file imports are required. Add Flutter/UIKit to IOSMessageHandler and AppKit to MacOSMessageHandler (NSSavePanel).
(cherry picked from commit a6206a6)
Contributor
Author
|
@TesteurManiak re-review pls |
- Bumped flutter_file_manager_android, flutter_file_manager_ios, and flutter_file_manager_macos to 3.0.0. - Migrated iOS and macOS plugins from CocoaPods to Swift Package Manager. - Updated minimum supported SDK version to Flutter 3.44/Dart 3.12. - Adjusted pubspec.yaml files to reflect new versioning and SDK requirements.
TesteurManiak
requested changes
Jun 24, 2026
Owner
|
Also, I've tested on Android, iOS & MacOS, everything seemed to work fine ✅ |
TesteurManiak
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.