From b89475cbbdf7a5089c8379cef568504dd3f38db6 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:26:06 +0300 Subject: [PATCH 01/22] feat(animations): migrate animations example to UIScene --- packages/animations/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../animations/example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/animations/pubspec.yaml | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/animations/CHANGELOG.md b/packages/animations/CHANGELOG.md index cfb4ff33284c..148880d452fd 100644 --- a/packages/animations/CHANGELOG.md +++ b/packages/animations/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.2.1 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 2.2.0 diff --git a/packages/animations/example/ios/Runner/AppDelegate.swift b/packages/animations/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/animations/example/ios/Runner/AppDelegate.swift +++ b/packages/animations/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/animations/example/ios/Runner/Info.plist b/packages/animations/example/ios/Runner/Info.plist index 677cf7bb8b0e..5a5809cc1a20 100644 --- a/packages/animations/example/ios/Runner/Info.plist +++ b/packages/animations/example/ios/Runner/Info.plist @@ -26,6 +26,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/animations/pubspec.yaml b/packages/animations/pubspec.yaml index b7a7be7ee25d..6c5825c739ea 100644 --- a/packages/animations/pubspec.yaml +++ b/packages/animations/pubspec.yaml @@ -2,7 +2,7 @@ name: animations description: Fancy pre-built animations that can easily be integrated into any Flutter application. repository: https://github.com/flutter/packages/tree/main/packages/animations issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+animations%22 -version: 2.2.0 +version: 2.2.1 environment: sdk: ^3.10.0 From 4d3d5b1ecb75e0bdc66b0d23338f7dc30f6704b5 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:35:23 +0300 Subject: [PATCH 02/22] feat(camera): migrate camera example app to UIScene --- packages/camera/camera/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../camera/example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/camera/camera/pubspec.yaml | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md index 41077b35b449..faa07eeaaff1 100644 --- a/packages/camera/camera/CHANGELOG.md +++ b/packages/camera/camera/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.12.0+2 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 0.12.0+1 diff --git a/packages/camera/camera/example/ios/Runner/AppDelegate.swift b/packages/camera/camera/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/camera/camera/example/ios/Runner/AppDelegate.swift +++ b/packages/camera/camera/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/camera/camera/example/ios/Runner/Info.plist b/packages/camera/camera/example/ios/Runner/Info.plist index 745494da50a6..10ff638dfe01 100644 --- a/packages/camera/camera/example/ios/Runner/Info.plist +++ b/packages/camera/camera/example/ios/Runner/Info.plist @@ -32,6 +32,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml index f2cecaf6a7bc..84966be525a0 100644 --- a/packages/camera/camera/pubspec.yaml +++ b/packages/camera/camera/pubspec.yaml @@ -4,7 +4,7 @@ description: A Flutter plugin for controlling the camera. Supports previewing Dart. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.12.0+1 +version: 0.12.0+2 environment: sdk: ^3.10.0 From bc3cb1bece11267c737145a76bf44451ff796d01 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:35:53 +0300 Subject: [PATCH 03/22] feat(extension_google_sign_in_as_googleapis_auth): migrate extension_sign_in example app to UIScene --- .../CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 20 +++++++++++++++++++ .../pubspec.yaml | 2 +- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md b/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md index e4192dcdf31d..35190a130e00 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md +++ b/packages/extension_google_sign_in_as_googleapis_auth/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 3.0.1 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 3.0.0 diff --git a/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/AppDelegate.swift b/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/AppDelegate.swift +++ b/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/Info.plist b/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/Info.plist index 49391fe99223..6cd3be3cdb5d 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/Info.plist +++ b/packages/extension_google_sign_in_as_googleapis_auth/example/ios/Runner/Info.plist @@ -28,6 +28,26 @@ LaunchScreen UIMainStoryboardFile Main + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml b/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml index 98d29494740a..d9aba9c1e9e3 100644 --- a/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml +++ b/packages/extension_google_sign_in_as_googleapis_auth/pubspec.yaml @@ -8,7 +8,7 @@ name: extension_google_sign_in_as_googleapis_auth description: A bridge package between google_sign_in and googleapis_auth, to create Authenticated Clients from google_sign_in user credentials. repository: https://github.com/flutter/packages/tree/main/packages/extension_google_sign_in_as_googleapis_auth issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+extension_google_sign_in_as_googleapis_auth%22 -version: 3.0.0 +version: 3.0.1 environment: sdk: ^3.10.0 From 750e9c2a53107de5d6be56a5a0a4fd657f3da0eb Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:36:14 +0300 Subject: [PATCH 04/22] feat(file_selector): migrate file_selector example apps to UIScene --- .../file_selector/file_selector/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 20 +++++++++++++++++++ .../file_selector/file_selector/pubspec.yaml | 2 +- .../file_selector_ios/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 20 +++++++++++++++++++ .../file_selector_ios/pubspec.yaml | 2 +- 8 files changed, 58 insertions(+), 7 deletions(-) diff --git a/packages/file_selector/file_selector/CHANGELOG.md b/packages/file_selector/file_selector/CHANGELOG.md index c6faec81048d..c780cedf5b2c 100644 --- a/packages/file_selector/file_selector/CHANGELOG.md +++ b/packages/file_selector/file_selector/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 1.1.1 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 1.1.0 diff --git a/packages/file_selector/file_selector/example/ios/Runner/AppDelegate.swift b/packages/file_selector/file_selector/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/file_selector/file_selector/example/ios/Runner/AppDelegate.swift +++ b/packages/file_selector/file_selector/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/file_selector/file_selector/example/ios/Runner/Info.plist b/packages/file_selector/file_selector/example/ios/Runner/Info.plist index 5458fc4188bf..21b2810ccc8d 100644 --- a/packages/file_selector/file_selector/example/ios/Runner/Info.plist +++ b/packages/file_selector/file_selector/example/ios/Runner/Info.plist @@ -28,6 +28,26 @@ LaunchScreen UIMainStoryboardFile Main + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/file_selector/file_selector/pubspec.yaml b/packages/file_selector/file_selector/pubspec.yaml index f0d6697f98dd..3f9f17349186 100644 --- a/packages/file_selector/file_selector/pubspec.yaml +++ b/packages/file_selector/file_selector/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for opening and saving files, or selecting directories, using native file selection UI. repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22 -version: 1.1.0 +version: 1.1.1 environment: sdk: ^3.10.0 diff --git a/packages/file_selector/file_selector_ios/CHANGELOG.md b/packages/file_selector/file_selector_ios/CHANGELOG.md index 2e51f94c5daa..c7e3f824cafe 100644 --- a/packages/file_selector/file_selector_ios/CHANGELOG.md +++ b/packages/file_selector/file_selector_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.3+6 + +* Migrate the iOS example to UIScene + ## 0.5.3+5 * Improves compatibility with `UIScene`. diff --git a/packages/file_selector/file_selector_ios/example/ios/Runner/AppDelegate.swift b/packages/file_selector/file_selector_ios/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/file_selector/file_selector_ios/example/ios/Runner/AppDelegate.swift +++ b/packages/file_selector/file_selector_ios/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/file_selector/file_selector_ios/example/ios/Runner/Info.plist b/packages/file_selector/file_selector_ios/example/ios/Runner/Info.plist index 67d621a7fc80..9757bf53b914 100644 --- a/packages/file_selector/file_selector_ios/example/ios/Runner/Info.plist +++ b/packages/file_selector/file_selector_ios/example/ios/Runner/Info.plist @@ -28,6 +28,26 @@ LaunchScreen UIMainStoryboardFile Main + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/file_selector/file_selector_ios/pubspec.yaml b/packages/file_selector/file_selector_ios/pubspec.yaml index c57f2cd1b9ff..d4cc94bcbb7d 100644 --- a/packages/file_selector/file_selector_ios/pubspec.yaml +++ b/packages/file_selector/file_selector_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: file_selector_ios description: iOS implementation of the file_selector plugin. repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22 -version: 0.5.3+5 +version: 0.5.3+6 environment: sdk: ^3.10.0 From 86173286cbe11a06924b9520767bc20c05c31e3d Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:36:29 +0300 Subject: [PATCH 05/22] feat(go_router): migrate go_router example app to UIScene --- packages/go_router/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../go_router/example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/go_router/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md index 79eb13d61fad..6c486314210b 100644 --- a/packages/go_router/CHANGELOG.md +++ b/packages/go_router/CHANGELOG.md @@ -1,3 +1,7 @@ +## 17.3.1 + +- Migrate the iOS example to UIScene + ## 17.3.0 - Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. diff --git a/packages/go_router/example/ios/Runner/AppDelegate.swift b/packages/go_router/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/go_router/example/ios/Runner/AppDelegate.swift +++ b/packages/go_router/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/go_router/example/ios/Runner/Info.plist b/packages/go_router/example/ios/Runner/Info.plist index 677cf7bb8b0e..5a5809cc1a20 100644 --- a/packages/go_router/example/ios/Runner/Info.plist +++ b/packages/go_router/example/ios/Runner/Info.plist @@ -26,6 +26,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml index 77e1c11fde77..002dada9f39d 100644 --- a/packages/go_router/pubspec.yaml +++ b/packages/go_router/pubspec.yaml @@ -1,7 +1,7 @@ name: go_router description: A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more -version: 17.3.0 +version: 17.3.1 repository: https://github.com/flutter/packages/tree/main/packages/go_router issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22 From bbf549edfd00559d4386a24ea02d973ff2ff49ad Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:36:44 +0300 Subject: [PATCH 06/22] feat(google_fonts): migrate google_fonts example app to UIScene --- packages/google_fonts/CHANGELOG.md | 6 ++++-- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/google_fonts/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/packages/google_fonts/CHANGELOG.md b/packages/google_fonts/CHANGELOG.md index ac8e46f30db0..a465ecef3208 100644 --- a/packages/google_fonts/CHANGELOG.md +++ b/packages/google_fonts/CHANGELOG.md @@ -1,6 +1,8 @@ -## NEXT +## 8.1.1 -* Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. + +- Migrate the iOS example to UIScene +- Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 8.1.0 diff --git a/packages/google_fonts/example/ios/Runner/AppDelegate.swift b/packages/google_fonts/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/google_fonts/example/ios/Runner/AppDelegate.swift +++ b/packages/google_fonts/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/google_fonts/example/ios/Runner/Info.plist b/packages/google_fonts/example/ios/Runner/Info.plist index 7f553465b77e..7ec481d2da12 100644 --- a/packages/google_fonts/example/ios/Runner/Info.plist +++ b/packages/google_fonts/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/google_fonts/pubspec.yaml b/packages/google_fonts/pubspec.yaml index a298ec559327..0e6c3c2ec7a2 100644 --- a/packages/google_fonts/pubspec.yaml +++ b/packages/google_fonts/pubspec.yaml @@ -2,7 +2,7 @@ name: google_fonts description: A Flutter package to use fonts from fonts.google.com. Supports HTTP fetching, caching, and asset bundling. repository: https://github.com/flutter/packages/tree/main/packages/google_fonts issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_fonts%22 -version: 8.1.0 +version: 8.1.1 environment: sdk: ^3.10.0 From 652dc31a90c6dfc3ec2149cab3f62c3e658d003b Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:37:04 +0300 Subject: [PATCH 07/22] feat(google_maps_flutter): migrate google_maps_flutter example app to UIScene --- .../google_maps_flutter/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 10 ++++----- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../google_maps_flutter/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md index 3dcd5bd12f93..a25b4f468923 100644 --- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.17.2 + +* Migrate the iOS example to UIScene + ## 2.17.1 * Updates README to link to implementation packages for platform-specific diff --git a/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/AppDelegate.swift b/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/AppDelegate.swift index a382ba8b736e..04b436a695e8 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/AppDelegate.swift +++ b/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/AppDelegate.swift @@ -7,15 +7,15 @@ import GoogleMaps import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - var mapsApiKey = ProcessInfo.processInfo.environment["MAPS_API_KEY"] ?? "YOUR KEY HERE" - GMSServices.provideAPIKey(mapsApiKey) - - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/Info.plist b/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/Info.plist index 8ff30c4046b7..82f358a38fba 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/Info.plist +++ b/packages/google_maps_flutter/google_maps_flutter/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml index 0342292634b8..7db35d8754c8 100644 --- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter description: A Flutter plugin for integrating Google Maps in iOS and Android applications. repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 2.17.1 +version: 2.17.2 environment: sdk: ^3.10.0 From 0b85beb9d0066ba21b754f086d89079674f840dd Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:37:21 +0300 Subject: [PATCH 08/22] feat(google_sign_in): migrate google_sign_in example app to UIScene --- .../google_sign_in/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../google_sign_in/pubspec.yaml | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/google_sign_in/google_sign_in/CHANGELOG.md b/packages/google_sign_in/google_sign_in/CHANGELOG.md index a74b95bcd301..1cca4387ec69 100644 --- a/packages/google_sign_in/google_sign_in/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 7.2.1 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. * Updates README to reflect currently supported OS versions for the latest versions of the endorsed platform implementations. diff --git a/packages/google_sign_in/google_sign_in/example/ios/Runner/AppDelegate.swift b/packages/google_sign_in/google_sign_in/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/google_sign_in/google_sign_in/example/ios/Runner/AppDelegate.swift +++ b/packages/google_sign_in/google_sign_in/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/google_sign_in/google_sign_in/example/ios/Runner/Info.plist b/packages/google_sign_in/google_sign_in/example/ios/Runner/Info.plist index 416f6af70ded..add1e1e827fb 100644 --- a/packages/google_sign_in/google_sign_in/example/ios/Runner/Info.plist +++ b/packages/google_sign_in/google_sign_in/example/ios/Runner/Info.plist @@ -39,6 +39,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/google_sign_in/google_sign_in/pubspec.yaml b/packages/google_sign_in/google_sign_in/pubspec.yaml index 223ce65066a8..1bbe832c6a42 100644 --- a/packages/google_sign_in/google_sign_in/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Google Sign-In, a secure authentication system for signing in with a Google account. repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22 -version: 7.2.0 +version: 7.2.1 environment: sdk: ^3.10.0 From 97684a9a992a1d8d2ca7bd948f248c9b3163a2fd Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:37:38 +0300 Subject: [PATCH 09/22] feat(image_picker): migrate image_picker example apps to UIScene --- .../image_picker/image_picker/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../image_picker/image_picker/pubspec.yaml | 2 +- .../image_picker_ios/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.h | 2 +- .../example/ios/Runner/AppDelegate.m | 5 ++++- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../image_picker_ios/pubspec.yaml | 2 +- 9 files changed, 62 insertions(+), 6 deletions(-) diff --git a/packages/image_picker/image_picker/CHANGELOG.md b/packages/image_picker/image_picker/CHANGELOG.md index 497b3954c0d2..f05abdc2dfa8 100644 --- a/packages/image_picker/image_picker/CHANGELOG.md +++ b/packages/image_picker/image_picker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.4 + +* Migrate the iOS example to UIScene + ## 1.2.3 * Fixes `pickMultiImage(limit: 1)` and `pickMultipleMedia(limit: 1)` throwing an `ArgumentError` by delegating to diff --git a/packages/image_picker/image_picker/example/ios/Runner/AppDelegate.swift b/packages/image_picker/image_picker/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/image_picker/image_picker/example/ios/Runner/AppDelegate.swift +++ b/packages/image_picker/image_picker/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/image_picker/image_picker/example/ios/Runner/Info.plist b/packages/image_picker/image_picker/example/ios/Runner/Info.plist index 707dd57d942c..0947ecaf95fe 100644 --- a/packages/image_picker/image_picker/example/ios/Runner/Info.plist +++ b/packages/image_picker/image_picker/example/ios/Runner/Info.plist @@ -34,6 +34,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml index 2d87dc6fd567..878c70bbcb88 100755 --- a/packages/image_picker/image_picker/pubspec.yaml +++ b/packages/image_picker/image_picker/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera. repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22 -version: 1.2.3 +version: 1.2.4 environment: sdk: ^3.10.0 diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md index 58dae8e1b635..c794cc3fb4ec 100644 --- a/packages/image_picker/image_picker_ios/CHANGELOG.md +++ b/packages/image_picker/image_picker_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.8.13+7 + +* Migrate the iOS example to UIScene + ## 0.8.13+6 * Replaces deprecated `kUTTypeGIF` with `UTTypeGIF` to fix iOS 15+ deprecation warnings. diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.h b/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.h index 721cca1e11bb..9b771e7f7408 100644 --- a/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.h +++ b/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.h @@ -5,6 +5,6 @@ #import #import -@interface AppDelegate : FlutterAppDelegate +@interface AppDelegate : FlutterAppDelegate @end diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.m b/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.m index 87a0fe23560a..1de8baabd50f 100644 --- a/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.m +++ b/packages/image_picker/image_picker_ios/example/ios/Runner/AppDelegate.m @@ -12,7 +12,6 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; if (@available(iOS 14, *)) { // Seed the photo library with at least one image for tests to operate on. NSString *photoAddedKey = @"PhotoAdded"; @@ -45,4 +44,8 @@ - (BOOL)application:(UIApplication *)application return [super application:application didFinishLaunchingWithOptions:launchOptions]; } +- (void)didInitializeImplicitFlutterEngine:(NSObject*)engineBridge { + [GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry]; +} + @end diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner/Info.plist b/packages/image_picker/image_picker_ios/example/ios/Runner/Info.plist index 90eb79e9ad18..b08139e305f1 100755 --- a/packages/image_picker/image_picker_ios/example/ios/Runner/Info.plist +++ b/packages/image_picker/image_picker_ios/example/ios/Runner/Info.plist @@ -36,6 +36,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UIRequiredDeviceCapabilities arm64 diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml index 076169304097..11d0cd04e4f9 100755 --- a/packages/image_picker/image_picker_ios/pubspec.yaml +++ b/packages/image_picker/image_picker_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: image_picker_ios description: iOS implementation of the image_picker plugin. repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22 -version: 0.8.13+6 +version: 0.8.13+7 environment: sdk: ^3.10.0 From b1c481e45f6c97c3d11722827b156a034ae6839d Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:37:51 +0300 Subject: [PATCH 10/22] feat(in_app_purchase): migrate in_app_purchase example app to UIScene --- .../in_app_purchase/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../in_app_purchase/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md index 3e35cab282b1..d945b3d35822 100644 --- a/packages/in_app_purchase/in_app_purchase/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.3.1 + +* Migrate the iOS example to UIScene + ## 3.3.0 * Updates `in_app_purchase_android` dependency to `^0.5.0`. diff --git a/packages/in_app_purchase/in_app_purchase/example/ios/Runner/AppDelegate.swift b/packages/in_app_purchase/in_app_purchase/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/in_app_purchase/in_app_purchase/example/ios/Runner/AppDelegate.swift +++ b/packages/in_app_purchase/in_app_purchase/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/in_app_purchase/in_app_purchase/example/ios/Runner/Info.plist b/packages/in_app_purchase/in_app_purchase/example/ios/Runner/Info.plist index 70aa1ea9d3d2..6d15093fc1e9 100644 --- a/packages/in_app_purchase/in_app_purchase/example/ios/Runner/Info.plist +++ b/packages/in_app_purchase/in_app_purchase/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/in_app_purchase/in_app_purchase/pubspec.yaml b/packages/in_app_purchase/in_app_purchase/pubspec.yaml index 8eb5aa80cc30..81e9f94ead51 100644 --- a/packages/in_app_purchase/in_app_purchase/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase description: A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play. repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 3.3.0 +version: 3.3.1 environment: sdk: ^3.10.0 From 3a1b814e54d869d0312aa2f4a2b6509167d14ed3 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:38:12 +0300 Subject: [PATCH 11/22] feat(interactive_media_adds): migrate interactive_media_ads example app to UIScene --- packages/interactive_media_ads/CHANGELOG.md | 4 ++++ .../AdsRequestProxyApi.kt | 2 +- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../AdsRequestProxyAPIDelegate.swift | 2 +- packages/interactive_media_ads/pubspec.yaml | 2 +- 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/packages/interactive_media_ads/CHANGELOG.md b/packages/interactive_media_ads/CHANGELOG.md index a0d2e8ad7bb1..820cbba6f89f 100644 --- a/packages/interactive_media_ads/CHANGELOG.md +++ b/packages/interactive_media_ads/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.0+17 + +* Migrate the iOS example to UIScene + ## 0.3.0+16 * Bumps the androidx group across 10 directories with 1 update. diff --git a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt index 2da9cd46b11a..aff51150bafa 100644 --- a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt +++ b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt @@ -21,7 +21,7 @@ class AdsRequestProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) : * * This must match the version in pubspec.yaml. */ - const val pluginVersion = "0.3.0+16" + const val pluginVersion = "0.3.0+17" } override fun setAdTagUrl(pigeon_instance: AdsRequest, adTagUrl: String) { diff --git a/packages/interactive_media_ads/example/ios/Runner/AppDelegate.swift b/packages/interactive_media_ads/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/interactive_media_ads/example/ios/Runner/AppDelegate.swift +++ b/packages/interactive_media_ads/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/interactive_media_ads/example/ios/Runner/Info.plist b/packages/interactive_media_ads/example/ios/Runner/Info.plist index 5394f403367c..09595737e903 100644 --- a/packages/interactive_media_ads/example/ios/Runner/Info.plist +++ b/packages/interactive_media_ads/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift index 2255b2f6100a..18cbae12e036 100644 --- a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift @@ -13,7 +13,7 @@ class AdsRequestProxyAPIDelegate: PigeonApiDelegateIMAAdsRequest { /// The current version of the `interactive_media_ads` plugin. /// /// This must match the version in pubspec.yaml. - static let pluginVersion = "0.3.0+16" + static let pluginVersion = "0.3.0+17" func pigeonDefaultConstructor( pigeonApi: PigeonApiIMAAdsRequest, adTagUrl: String, adDisplayContainer: IMAAdDisplayContainer, diff --git a/packages/interactive_media_ads/pubspec.yaml b/packages/interactive_media_ads/pubspec.yaml index 41d4c65cc268..2e34f24c5e5d 100644 --- a/packages/interactive_media_ads/pubspec.yaml +++ b/packages/interactive_media_ads/pubspec.yaml @@ -2,7 +2,7 @@ name: interactive_media_ads description: A Flutter plugin for using the Interactive Media Ads SDKs on Android and iOS. repository: https://github.com/flutter/packages/tree/main/packages/interactive_media_ads issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+interactive_media_ads%22 -version: 0.3.0+16 # This must match the version in +version: 0.3.0+17 # This must match the version in # `android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt` and # `ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift` From e4e4d986ab5088769ef4c7b2db9be1f7ccea79c7 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:44:06 +0300 Subject: [PATCH 12/22] feat(local_auth): migrate example app to UIScene --- packages/local_auth/local_auth/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../local_auth/example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/local_auth/local_auth/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/local_auth/local_auth/CHANGELOG.md b/packages/local_auth/local_auth/CHANGELOG.md index f9a8a5a7785e..bb3d0e9af1a3 100644 --- a/packages/local_auth/local_auth/CHANGELOG.md +++ b/packages/local_auth/local_auth/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.3 + +* Migrate the iOS example to UIScene + ## 3.0.2 * Clarifies the `getAvailableBiometrics` documentation regarding iOS permission requirements. diff --git a/packages/local_auth/local_auth/example/ios/Runner/AppDelegate.swift b/packages/local_auth/local_auth/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/local_auth/local_auth/example/ios/Runner/AppDelegate.swift +++ b/packages/local_auth/local_auth/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/local_auth/local_auth/example/ios/Runner/Info.plist b/packages/local_auth/local_auth/example/ios/Runner/Info.plist index 49c56f2d1561..0d7d9f2d9e38 100644 --- a/packages/local_auth/local_auth/example/ios/Runner/Info.plist +++ b/packages/local_auth/local_auth/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/local_auth/local_auth/pubspec.yaml b/packages/local_auth/local_auth/pubspec.yaml index bf35d018e959..00870f5f4dc7 100644 --- a/packages/local_auth/local_auth/pubspec.yaml +++ b/packages/local_auth/local_auth/pubspec.yaml @@ -2,7 +2,7 @@ name: local_auth description: Flutter plugin to allow local authentication via biometrics, passcode, pin, or pattern. repository: https://github.com/flutter/packages/tree/main/packages/local_auth/local_auth issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+local_auth%22 -version: 3.0.2 +version: 3.0.3 environment: sdk: ^3.10.0 From 05ccdee4945959c5808567f420c2a598948ec610 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:44:18 +0300 Subject: [PATCH 13/22] feat(path_provider): migrate example apps to UIScene --- .../path_provider/path_provider/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../path_provider/path_provider/pubspec.yaml | 2 +- .../path_provider_foundation/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../path_provider_foundation/pubspec.yaml | 2 +- 8 files changed, 62 insertions(+), 6 deletions(-) diff --git a/packages/path_provider/path_provider/CHANGELOG.md b/packages/path_provider/path_provider/CHANGELOG.md index e1fc0658d030..15668667e232 100644 --- a/packages/path_provider/path_provider/CHANGELOG.md +++ b/packages/path_provider/path_provider/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.7 + +* Migrate the iOS example to UIScene + ## 2.1.6 * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. diff --git a/packages/path_provider/path_provider/example/ios/Runner/AppDelegate.swift b/packages/path_provider/path_provider/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/path_provider/path_provider/example/ios/Runner/AppDelegate.swift +++ b/packages/path_provider/path_provider/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/path_provider/path_provider/example/ios/Runner/Info.plist b/packages/path_provider/path_provider/example/ios/Runner/Info.plist index 24bde4729a4a..f45ac6073fc0 100644 --- a/packages/path_provider/path_provider/example/ios/Runner/Info.plist +++ b/packages/path_provider/path_provider/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/path_provider/path_provider/pubspec.yaml b/packages/path_provider/path_provider/pubspec.yaml index 92b660ef2cae..0a3a9c71b571 100644 --- a/packages/path_provider/path_provider/pubspec.yaml +++ b/packages/path_provider/path_provider/pubspec.yaml @@ -2,7 +2,7 @@ name: path_provider description: Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories. repository: https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22 -version: 2.1.6 +version: 2.1.7 environment: sdk: ^3.10.0 diff --git a/packages/path_provider/path_provider_foundation/CHANGELOG.md b/packages/path_provider/path_provider_foundation/CHANGELOG.md index b07a38497137..d4ec062a0986 100644 --- a/packages/path_provider/path_provider_foundation/CHANGELOG.md +++ b/packages/path_provider/path_provider_foundation/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.6.1 + +* Migrate the iOS example to UIScene + ## 2.6.0 * Re-release: replaces Flutter-plugin-based implementation with direct diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift b/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist b/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist index 45ccb93dc4d5..71f7c6530da3 100644 --- a/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist +++ b/packages/path_provider/path_provider_foundation/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/path_provider/path_provider_foundation/pubspec.yaml b/packages/path_provider/path_provider_foundation/pubspec.yaml index ce37651e25b6..86cff4fce2b4 100644 --- a/packages/path_provider/path_provider_foundation/pubspec.yaml +++ b/packages/path_provider/path_provider_foundation/pubspec.yaml @@ -2,7 +2,7 @@ name: path_provider_foundation description: iOS and macOS implementation of the path_provider plugin repository: https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_foundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22 -version: 2.6.0 +version: 2.6.1 environment: sdk: ^3.10.3 From 6b186c1148911026f513f7789d01a290d67c1832 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:44:29 +0300 Subject: [PATCH 14/22] feat(pigeon): migrate example apps to UIScene --- packages/pigeon/CHANGELOG.md | 4 ++++ .../example/app/ios/Runner/AppDelegate.swift | 8 +++++-- .../pigeon/example/app/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/pigeon/lib/src/generator_tools.dart | 2 +- .../example/ios/Runner/AppDelegate.h | 2 +- .../example/ios/Runner/AppDelegate.m | 5 ++++- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../test_plugin/example/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/pigeon/pubspec.yaml | 2 +- 10 files changed, 85 insertions(+), 8 deletions(-) diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index 803f62bc5118..4dc07f64e468 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,3 +1,7 @@ +## 27.1.2 + +* Migrate the iOS example to UIScene + ## 27.1.1 * [dart] Adds usage documentation to generated event channel methods, and diff --git a/packages/pigeon/example/app/ios/Runner/AppDelegate.swift b/packages/pigeon/example/app/ios/Runner/AppDelegate.swift index 9ffa2456849a..dbe8ec27c4cd 100644 --- a/packages/pigeon/example/app/ios/Runner/AppDelegate.swift +++ b/packages/pigeon/example/app/ios/Runner/AppDelegate.swift @@ -94,16 +94,20 @@ func sendEvents(_ eventListener: EventListener) { } @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } + // TODO(stuartmorgan): Once 3.33+ reaches stable, remove this subclass and move the setup to // AppDelegate.register(...). This approach is only used because this example needs to support // both stable and master, and 3.32 doesn't have FlutterPluginRegistrant, while 3.33+ can't use diff --git a/packages/pigeon/example/app/ios/Runner/Info.plist b/packages/pigeon/example/app/ios/Runner/Info.plist index b6439ae077fb..3e2669cbdbc2 100644 --- a/packages/pigeon/example/app/ios/Runner/Info.plist +++ b/packages/pigeon/example/app/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/pigeon/lib/src/generator_tools.dart b/packages/pigeon/lib/src/generator_tools.dart index dbc56d4823b8..860898a5bced 100644 --- a/packages/pigeon/lib/src/generator_tools.dart +++ b/packages/pigeon/lib/src/generator_tools.dart @@ -15,7 +15,7 @@ import 'generator.dart'; /// The current version of pigeon. /// /// This must match the version in pubspec.yaml. -const String pigeonVersion = '27.1.1'; +const String pigeonVersion = '27.1.2'; /// Default plugin package name. const String defaultPluginPackageName = 'dev.flutter.pigeon'; diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.h b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.h index 721cca1e11bb..9b771e7f7408 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.h +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.h @@ -5,6 +5,6 @@ #import #import -@interface AppDelegate : FlutterAppDelegate +@interface AppDelegate : FlutterAppDelegate @end diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.m index d383e2b9b983..5ca62f18f803 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/AppDelegate.m @@ -9,9 +9,12 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; // Override point for customization after application launch. return [super application:application didFinishLaunchingWithOptions:launchOptions]; } +- (void)didInitializeImplicitFlutterEngine:(NSObject*)engineBridge { + [GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry]; +} + @end diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/Info.plist b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/Info.plist index 08ea2be3c97b..dade8cfe2d14 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/Info.plist +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/AppDelegate.swift b/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/AppDelegate.swift +++ b/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/Info.plist b/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/Info.plist index ccd141f08045..05b390fe33a4 100644 --- a/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/Info.plist +++ b/packages/pigeon/platform_tests/test_plugin/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index bf3b9563ca90..fb078cd488f8 100644 --- a/packages/pigeon/pubspec.yaml +++ b/packages/pigeon/pubspec.yaml @@ -2,7 +2,7 @@ name: pigeon description: Code generator tool to make communication between Flutter and the host platform type-safe and easier. repository: https://github.com/flutter/packages/tree/main/packages/pigeon issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pigeon%22 -version: 27.1.1 # This must match the version in lib/src/generator_tools.dart +version: 27.1.2 # This must match the version in lib/src/generator_tools.dart environment: sdk: ^3.10.0 From 61527129520a270ba20093e89a67a605cfb9c771 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:44:44 +0300 Subject: [PATCH 15/22] feat(pointer_interceptor): migrate example apps to UIScene --- .../pointer_interceptor/CHANGELOG.md | 3 ++- .../xcshareddata/xcschemes/Runner.xcscheme | 2 ++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../pointer_interceptor/pubspec.yaml | 2 +- .../pointer_interceptor_ios/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 6 +++++- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../pointer_interceptor_ios/pubspec.yaml | 2 +- 9 files changed, 60 insertions(+), 7 deletions(-) diff --git a/packages/pointer_interceptor/pointer_interceptor/CHANGELOG.md b/packages/pointer_interceptor/pointer_interceptor/CHANGELOG.md index d7aa50de475b..500afd3304c2 100644 --- a/packages/pointer_interceptor/pointer_interceptor/CHANGELOG.md +++ b/packages/pointer_interceptor/pointer_interceptor/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.10.1+3 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. * Updates README to reflect currently supported OS versions for the latest versions of the endorsed platform implementations. diff --git a/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index d795332e1b7b..c3fedb29c990 100644 --- a/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -44,6 +44,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit" shouldUseLaunchSchemeArgsEnv = "YES"> Bool { - GeneratedPluginRegistrant.register(with: self) weak var registrar = self.registrar(forPlugin: "DummyPlatform") @@ -22,4 +21,8 @@ import UIKit return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner/Info.plist b/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner/Info.plist index f15383a8587d..63a5b81205cd 100644 --- a/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner/Info.plist +++ b/packages/pointer_interceptor/pointer_interceptor/example/ios/Runner/Info.plist @@ -32,6 +32,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/pointer_interceptor/pointer_interceptor/pubspec.yaml b/packages/pointer_interceptor/pointer_interceptor/pubspec.yaml index 259101e6f7e1..5a0495132567 100644 --- a/packages/pointer_interceptor/pointer_interceptor/pubspec.yaml +++ b/packages/pointer_interceptor/pointer_interceptor/pubspec.yaml @@ -2,7 +2,7 @@ name: pointer_interceptor description: A widget to prevent clicks from being swallowed by underlying HtmlElementViews on the web. repository: https://github.com/flutter/packages/tree/main/packages/pointer_interceptor/pointer_interceptor issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pointer_interceptor%22 -version: 0.10.1+2 +version: 0.10.1+3 environment: sdk: ^3.10.0 diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md index 6d06a2335a6a..94fc3488a75d 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md +++ b/packages/pointer_interceptor/pointer_interceptor_ios/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.10.1+2 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 0.10.1+1 diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift index f0a20bd47a46..78e8b2ae335e 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/AppDelegate.swift @@ -6,7 +6,7 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? @@ -22,4 +22,8 @@ import UIKit return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/Info.plist b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/Info.plist index f2156aa24df3..dea3118e7a4e 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/Info.plist +++ b/packages/pointer_interceptor/pointer_interceptor_ios/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/pointer_interceptor/pointer_interceptor_ios/pubspec.yaml b/packages/pointer_interceptor/pointer_interceptor_ios/pubspec.yaml index 7c969ffaa7b3..92ea57834e6b 100644 --- a/packages/pointer_interceptor/pointer_interceptor_ios/pubspec.yaml +++ b/packages/pointer_interceptor/pointer_interceptor_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: pointer_interceptor_ios description: iOS implementation of the pointer_interceptor plugin. repository: https://github.com/flutter/packages/tree/main/packages/pointer_interceptor/pointer_interceptor_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Apointer_interceptor -version: 0.10.1+1 +version: 0.10.1+2 environment: sdk: ^3.10.0 From 7d8317fd1305a41a3414ab332278d0ed6e092beb Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:44:56 +0300 Subject: [PATCH 16/22] feat(quick_actions): migrate example app to UIScene --- .../quick_actions/quick_actions/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../quick_actions/quick_actions/pubspec.yaml | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/quick_actions/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md index b292466fa63c..26fa55c4f6d2 100644 --- a/packages/quick_actions/quick_actions/CHANGELOG.md +++ b/packages/quick_actions/quick_actions/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 1.1.1 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. * Updates README to reflect currently supported OS versions for the latest versions of the endorsed platform implementations. diff --git a/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.swift b/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.swift +++ b/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/quick_actions/quick_actions/example/ios/Runner/Info.plist b/packages/quick_actions/quick_actions/example/ios/Runner/Info.plist index fd3b62987824..e575c1d8871e 100644 --- a/packages/quick_actions/quick_actions/example/ios/Runner/Info.plist +++ b/packages/quick_actions/quick_actions/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index 445cf4b24e2c..c8e60c904af5 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for creating shortcuts on home screen, also known as Quick Actions on iOS and App Shortcuts on Android. repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+quick_actions%22 -version: 1.1.0 +version: 1.1.1 environment: sdk: ^3.10.0 From 5a69e5636bfe503e5b9016180fb3d6be7b6cecdd Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:45:03 +0300 Subject: [PATCH 17/22] feat(rfw): migrate example apps to UIScene --- packages/rfw/CHANGELOG.md | 3 ++- .../hello/ios/Runner/AppDelegate.swift | 7 +++++-- .../rfw/example/hello/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../local/ios/Runner/AppDelegate.swift | 7 +++++-- .../rfw/example/local/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../remote/ios/Runner/AppDelegate.swift | 7 +++++-- .../rfw/example/remote/ios/Runner/Info.plist | 21 +++++++++++++++++++ packages/rfw/pubspec.yaml | 2 +- 8 files changed, 81 insertions(+), 8 deletions(-) diff --git a/packages/rfw/CHANGELOG.md b/packages/rfw/CHANGELOG.md index 1ae2e03f24d6..7fae5f296e79 100644 --- a/packages/rfw/CHANGELOG.md +++ b/packages/rfw/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 1.1.4 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 1.1.3 diff --git a/packages/rfw/example/hello/ios/Runner/AppDelegate.swift b/packages/rfw/example/hello/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/rfw/example/hello/ios/Runner/AppDelegate.swift +++ b/packages/rfw/example/hello/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/rfw/example/hello/ios/Runner/Info.plist b/packages/rfw/example/hello/ios/Runner/Info.plist index 8d1d37dff8d6..85ae9f0753a2 100644 --- a/packages/rfw/example/hello/ios/Runner/Info.plist +++ b/packages/rfw/example/hello/ios/Runner/Info.plist @@ -26,6 +26,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/rfw/example/local/ios/Runner/AppDelegate.swift b/packages/rfw/example/local/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/rfw/example/local/ios/Runner/AppDelegate.swift +++ b/packages/rfw/example/local/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/rfw/example/local/ios/Runner/Info.plist b/packages/rfw/example/local/ios/Runner/Info.plist index 675f7bfd9240..7ea78df12167 100644 --- a/packages/rfw/example/local/ios/Runner/Info.plist +++ b/packages/rfw/example/local/ios/Runner/Info.plist @@ -26,6 +26,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/rfw/example/remote/ios/Runner/AppDelegate.swift b/packages/rfw/example/remote/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/rfw/example/remote/ios/Runner/AppDelegate.swift +++ b/packages/rfw/example/remote/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/rfw/example/remote/ios/Runner/Info.plist b/packages/rfw/example/remote/ios/Runner/Info.plist index 6b4c897e78ca..1298f7d15a72 100644 --- a/packages/rfw/example/remote/ios/Runner/Info.plist +++ b/packages/rfw/example/remote/ios/Runner/Info.plist @@ -26,6 +26,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/rfw/pubspec.yaml b/packages/rfw/pubspec.yaml index 5a37fa530f6a..480a6a9080f4 100644 --- a/packages/rfw/pubspec.yaml +++ b/packages/rfw/pubspec.yaml @@ -2,7 +2,7 @@ name: rfw description: "Remote Flutter widgets: a library for rendering declarative widget description files at runtime." repository: https://github.com/flutter/packages/tree/main/packages/rfw issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+rfw%22 -version: 1.1.3 +version: 1.1.4 environment: sdk: ^3.10.0 From 608f4b648a9bfc7b5b203147147e0ef67a9d8eb0 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:45:15 +0300 Subject: [PATCH 18/22] feat(shared_preferences): migrate example apps to UIScene --- .../shared_preferences/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../shared_preferences/pubspec.yaml | 2 +- .../CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../pubspec.yaml | 2 +- 8 files changed, 58 insertions(+), 8 deletions(-) diff --git a/packages/shared_preferences/shared_preferences/CHANGELOG.md b/packages/shared_preferences/shared_preferences/CHANGELOG.md index 915fbb4d4e37..d706bc451ca6 100644 --- a/packages/shared_preferences/shared_preferences/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.5.6 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 2.5.5 diff --git a/packages/shared_preferences/shared_preferences/example/ios/Runner/AppDelegate.swift b/packages/shared_preferences/shared_preferences/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/shared_preferences/shared_preferences/example/ios/Runner/AppDelegate.swift +++ b/packages/shared_preferences/shared_preferences/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/shared_preferences/shared_preferences/example/ios/Runner/Info.plist b/packages/shared_preferences/shared_preferences/example/ios/Runner/Info.plist index e685abb07e7f..a1db9b6083ad 100644 --- a/packages/shared_preferences/shared_preferences/example/ios/Runner/Info.plist +++ b/packages/shared_preferences/shared_preferences/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/shared_preferences/shared_preferences/pubspec.yaml b/packages/shared_preferences/shared_preferences/pubspec.yaml index cf3417d0aaaf..dafffaea5761 100644 --- a/packages/shared_preferences/shared_preferences/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android. repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 2.5.5 +version: 2.5.6 environment: sdk: ^3.10.0 diff --git a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md index 49339afe2182..56d7f34a3acd 100644 --- a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.5.7 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. ## 2.5.6 diff --git a/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/AppDelegate.swift b/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/AppDelegate.swift +++ b/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/Info.plist b/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/Info.plist index 6d2946cb3ea5..2cc87696a982 100644 --- a/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/Info.plist +++ b/packages/shared_preferences/shared_preferences_foundation/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml index d3e1a3fef863..f4a452a75794 100644 --- a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml @@ -2,7 +2,7 @@ name: shared_preferences_foundation description: iOS and macOS implementation of the shared_preferences plugin. repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_foundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 2.5.6 +version: 2.5.7 environment: sdk: ^3.10.0 From b360f44642f5fce3d4ef60a85c5e765f15d0d00d Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:45:41 +0300 Subject: [PATCH 19/22] feat(two_dimensional_scrollables): migrate example app to UIScene --- .../two_dimensional_scrollables/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../two_dimensional_scrollables/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/two_dimensional_scrollables/CHANGELOG.md b/packages/two_dimensional_scrollables/CHANGELOG.md index a19971ebc6d2..e0db4f4f19aa 100644 --- a/packages/two_dimensional_scrollables/CHANGELOG.md +++ b/packages/two_dimensional_scrollables/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.5.4 + +* Migrate the iOS example to UIScene + ## 0.5.3 * Fixes hit testing for `TreeView` row content and gestures after horizontal scrolling. diff --git a/packages/two_dimensional_scrollables/example/ios/Runner/AppDelegate.swift b/packages/two_dimensional_scrollables/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/two_dimensional_scrollables/example/ios/Runner/AppDelegate.swift +++ b/packages/two_dimensional_scrollables/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/two_dimensional_scrollables/example/ios/Runner/Info.plist b/packages/two_dimensional_scrollables/example/ios/Runner/Info.plist index 5458fc4188bf..f0e9a364bb1f 100644 --- a/packages/two_dimensional_scrollables/example/ios/Runner/Info.plist +++ b/packages/two_dimensional_scrollables/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/two_dimensional_scrollables/pubspec.yaml b/packages/two_dimensional_scrollables/pubspec.yaml index a90e6dd31bbb..e01005b843a6 100644 --- a/packages/two_dimensional_scrollables/pubspec.yaml +++ b/packages/two_dimensional_scrollables/pubspec.yaml @@ -1,6 +1,6 @@ name: two_dimensional_scrollables description: Widgets that scroll using the two dimensional scrolling foundation. -version: 0.5.3 +version: 0.5.4 repository: https://github.com/flutter/packages/tree/main/packages/two_dimensional_scrollables issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+two_dimensional_scrollables%22+ From 4724a3953a177e6e706701843c1ca3e83d172e0d Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:45:50 +0300 Subject: [PATCH 20/22] feat(url_launcher): migrate example app to UIScene --- .../url_launcher/url_launcher/CHANGELOG.md | 3 ++- .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../url_launcher/url_launcher/pubspec.yaml | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 7c559c0aca09..6a465696133c 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 6.3.3 +* Migrate the iOS example to UIScene * Updates minimum supported SDK version to Flutter 3.38/Dart 3.10. * Updates README to reflect currently supported OS versions for the latest versions of the endorsed platform implementations. diff --git a/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.swift b/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.swift +++ b/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/url_launcher/url_launcher/example/ios/Runner/Info.plist b/packages/url_launcher/url_launcher/example/ios/Runner/Info.plist index af54d831c42b..3b1cd608ce7a 100644 --- a/packages/url_launcher/url_launcher/example/ios/Runner/Info.plist +++ b/packages/url_launcher/url_launcher/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 7fe212e4c1aa..ad8b27cbf1a7 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes. repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 6.3.2 +version: 6.3.3 environment: sdk: ^3.10.0 From 21605be6ba7851635be0956082ab79bff09031e0 Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:45:59 +0300 Subject: [PATCH 21/22] feat(video_player): migrate example app to UIScene --- .../video_player/video_player/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../video_player/video_player/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/video_player/video_player/CHANGELOG.md b/packages/video_player/video_player/CHANGELOG.md index 20671d46a4cd..d6ce668bbd4b 100644 --- a/packages/video_player/video_player/CHANGELOG.md +++ b/packages/video_player/video_player/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.12.1 + +* Migrate the iOS example to UIScene + ## 2.12.0 * Passes `backBufferDurationMs` from `VideoPlayerOptions` to the underlying platform interface. diff --git a/packages/video_player/video_player/example/ios/Runner/AppDelegate.swift b/packages/video_player/video_player/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/video_player/video_player/example/ios/Runner/AppDelegate.swift +++ b/packages/video_player/video_player/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/video_player/video_player/example/ios/Runner/Info.plist b/packages/video_player/video_player/example/ios/Runner/Info.plist index c7d0e4eb5eda..9de1db184970 100644 --- a/packages/video_player/video_player/example/ios/Runner/Info.plist +++ b/packages/video_player/video_player/example/ios/Runner/Info.plist @@ -33,6 +33,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/video_player/video_player/pubspec.yaml b/packages/video_player/video_player/pubspec.yaml index fcadff731d35..0992504ec1b9 100644 --- a/packages/video_player/video_player/pubspec.yaml +++ b/packages/video_player/video_player/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for displaying inline video with other Flutter widgets on Android, iOS, macOS and web. repository: https://github.com/flutter/packages/tree/main/packages/video_player/video_player issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.12.0 +version: 2.12.1 environment: sdk: ^3.12.0 From ce9c3237550f657249838d336e9d30bc1550981a Mon Sep 17 00:00:00 2001 From: Zubii Date: Sat, 11 Jul 2026 13:46:08 +0300 Subject: [PATCH 22/22] feat(webview_flutter): migrate example app to UIScene --- .../webview_flutter/CHANGELOG.md | 4 ++++ .../example/ios/Runner/AppDelegate.swift | 7 +++++-- .../example/ios/Runner/Info.plist | 21 +++++++++++++++++++ .../webview_flutter/pubspec.yaml | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/CHANGELOG.md b/packages/webview_flutter/webview_flutter/CHANGELOG.md index bae44ba8f51a..8b860826573b 100644 --- a/packages/webview_flutter/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 4.14.2 + +* Migrate the iOS example to UIScene + ## 4.14.1 * Adds documentation for `NavigationDelegate` callback parameters. diff --git a/packages/webview_flutter/webview_flutter/example/ios/Runner/AppDelegate.swift b/packages/webview_flutter/webview_flutter/example/ios/Runner/AppDelegate.swift index 2a5a9ec00b1e..81eca8683601 100644 --- a/packages/webview_flutter/webview_flutter/example/ios/Runner/AppDelegate.swift +++ b/packages/webview_flutter/webview_flutter/example/ios/Runner/AppDelegate.swift @@ -6,12 +6,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/packages/webview_flutter/webview_flutter/example/ios/Runner/Info.plist b/packages/webview_flutter/webview_flutter/example/ios/Runner/Info.plist index 7db91f6952cb..e1f3097f6d88 100644 --- a/packages/webview_flutter/webview_flutter/example/ios/Runner/Info.plist +++ b/packages/webview_flutter/webview_flutter/example/ios/Runner/Info.plist @@ -28,6 +28,27 @@ LaunchScreen UIMainStoryboardFile Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/packages/webview_flutter/webview_flutter/pubspec.yaml b/packages/webview_flutter/webview_flutter/pubspec.yaml index a8bfde8791cd..0426f3fb8470 100644 --- a/packages/webview_flutter/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: webview_flutter description: A Flutter plugin that provides a WebView widget backed by the system webview. repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22 -version: 4.14.1 +version: 4.14.2 environment: sdk: ^3.10.0