From 07c1bd5f16b7ac7b926876b63765bb012f33ae6a Mon Sep 17 00:00:00 2001 From: ledexsoft <95057097+ledexsoft@users.noreply.github.com> Date: Mon, 7 Sep 2026 18:33:49 -0300 Subject: [PATCH] fix(share_plus): remove deprecated UIApplication.keyWindow usage on iOS --- .../share_plus/ios/share_plus.podspec | 2 +- .../Sources/share_plus/FPPSharePlusPlugin.m | 20 ++++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/share_plus/share_plus/ios/share_plus.podspec b/packages/share_plus/share_plus/ios/share_plus.podspec index e53d2d0774..9e0a0ca7ec 100644 --- a/packages/share_plus/share_plus/ios/share_plus.podspec +++ b/packages/share_plus/share_plus/ios/share_plus.podspec @@ -19,7 +19,7 @@ Downloaded by pub (not CocoaPods). s.dependency 'Flutter' s.ios.weak_framework = 'LinkPresentation' - s.platform = :ios, '12.0' + s.platform = :ios, '13.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } s.resource_bundles = {'share_plus_privacy' => ['share_plus/Sources/share_plus/PrivacyInfo.xcprivacy']} end diff --git a/packages/share_plus/share_plus/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m b/packages/share_plus/share_plus/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m index fe1ebc3dbf..0865f7c02f 100644 --- a/packages/share_plus/share_plus/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m +++ b/packages/share_plus/share_plus/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m @@ -8,22 +8,18 @@ static NSString *const PLATFORM_CHANNEL = @"dev.fluttercommunity.plus/share"; static UIViewController *RootViewController(void) { - if (@available(iOS 13, *)) { // UIApplication.keyWindow is deprecated - NSSet *scenes = [[UIApplication sharedApplication] connectedScenes]; - for (UIScene *scene in scenes) { - if ([scene isKindOfClass:[UIWindowScene class]]) { - NSArray *windows = ((UIWindowScene *)scene).windows; - for (UIWindow *window in windows) { - if (window.isKeyWindow) { - return window.rootViewController; - } + NSSet *scenes = [[UIApplication sharedApplication] connectedScenes]; + for (UIScene *scene in scenes) { + if ([scene isKindOfClass:[UIWindowScene class]]) { + NSArray *windows = ((UIWindowScene *)scene).windows; + for (UIWindow *window in windows) { + if (window.isKeyWindow) { + return window.rootViewController; } } } - return nil; - } else { - return [UIApplication sharedApplication].keyWindow.rootViewController; } + return nil; } static UIViewController *