From b1222ebd76404e55faf8adbb108e2311822ee8d6 Mon Sep 17 00:00:00 2001 From: Huan Lin Date: Wed, 29 Jul 2026 14:33:53 -0700 Subject: [PATCH 1/4] [ios]add a note on plugin's init being deferred --- .../src/content/release/breaking-changes/uiscenedelegate.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md index d190f7b6ee..7bcac35307 100644 --- a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md +++ b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md @@ -893,7 +893,8 @@ migrate it to UIKit's scene-based lifecycle as follows: sequence. For apps that adopt `UIScene`, Flutter calls `application:willFinishLaunchingWithOptions:` and `application:didFinishLaunchingWithOptions:` during the - `scene:willConnectToSession:options:` callback. + `scene:willConnectToSession:options:` callback. Plugins' + `init` methods are also deferred until scene connection. 1. Migrate other deprecated APIs to properly access the `viewController`, `screen`, or `window`. From adea0f56eb59f2f1f780191dac30770edd8a1a80 Mon Sep 17 00:00:00 2001 From: Huan Lin Date: Wed, 29 Jul 2026 14:51:02 -0700 Subject: [PATCH 2/4] nit --- .../src/content/release/breaking-changes/uiscenedelegate.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md index 7bcac35307..86fe4bf476 100644 --- a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md +++ b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md @@ -893,8 +893,8 @@ migrate it to UIKit's scene-based lifecycle as follows: sequence. For apps that adopt `UIScene`, Flutter calls `application:willFinishLaunchingWithOptions:` and `application:didFinishLaunchingWithOptions:` during the - `scene:willConnectToSession:options:` callback. Plugins' - `init` methods are also deferred until scene connection. + `scene:willConnectToSession:options:` callback. Plugin registration + methods are also deferred until scene connection. 1. Migrate other deprecated APIs to properly access the `viewController`, `screen`, or `window`. From c09b049c986da496919cdcb18cf38458658ff549 Mon Sep 17 00:00:00 2001 From: Huan Lin Date: Wed, 29 Jul 2026 15:22:10 -0700 Subject: [PATCH 3/4] rephrase --- .../src/content/release/breaking-changes/uiscenedelegate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md index 86fe4bf476..aad55d3104 100644 --- a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md +++ b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md @@ -894,7 +894,7 @@ migrate it to UIKit's scene-based lifecycle as follows: `application:willFinishLaunchingWithOptions:` and `application:didFinishLaunchingWithOptions:` during the `scene:willConnectToSession:options:` callback. Plugin registration - methods are also deferred until scene connection. + methods are also deferred until the `FlutterViewController` is loaded. 1. Migrate other deprecated APIs to properly access the `viewController`, `screen`, or `window`. From 4ab4d3fba0292fcb1201c11b662bcb7094e1f54b Mon Sep 17 00:00:00 2001 From: Huan Lin Date: Thu, 30 Jul 2026 10:38:21 -0700 Subject: [PATCH 4/4] rephrase plugin registration --- .../content/release/breaking-changes/uiscenedelegate.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md index aad55d3104..e1df65946d 100644 --- a/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md +++ b/sites/docs/src/content/release/breaking-changes/uiscenedelegate.md @@ -891,10 +891,13 @@ migrate it to UIKit's scene-based lifecycle as follows: This change is required due to UIScene changing the app launch sequence. For apps that adopt `UIScene`, Flutter calls - `application:willFinishLaunchingWithOptions:` and + plugin's `application:willFinishLaunchingWithOptions:` and `application:didFinishLaunchingWithOptions:` during the - `scene:willConnectToSession:options:` callback. Plugin registration - methods are also deferred until the `FlutterViewController` is loaded. + `scene:willConnectToSession:options:` callback, after UIKit's + `application:didFinishLaunchingWithOptions:` returns. + + Plugin registration methods are also deferred until after UIKit's + `application:didFinishLaunchingWithOptions:` returns. 1. Migrate other deprecated APIs to properly access the `viewController`, `screen`, or `window`.