From 18c31a62fd7c563230230c3bcbfa5375737594cc Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 16:09:12 +0300 Subject: [PATCH 1/6] chore(device_info_plus): update iOS and macOS deployment targets to 15.0 --- .../example/ios/Runner.xcodeproj/project.pbxproj | 12 ++++++------ .../device_info_plus/ios/device_info_plus.podspec | 2 +- .../device_info_plus/FPPDeviceInfoPlusPlugin.m | 8 ++++++-- .../device_info_plus/macos/device_info_plus.podspec | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/device_info_plus/device_info_plus/example/ios/Runner.xcodeproj/project.pbxproj b/packages/device_info_plus/device_info_plus/example/ios/Runner.xcodeproj/project.pbxproj index e52dbe9053..d4c1006027 100644 --- a/packages/device_info_plus/device_info_plus/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/device_info_plus/device_info_plus/example/ios/Runner.xcodeproj/project.pbxproj @@ -451,7 +451,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -469,7 +469,7 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -579,7 +579,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -628,7 +628,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -648,7 +648,7 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -671,7 +671,7 @@ CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/packages/device_info_plus/device_info_plus/ios/device_info_plus.podspec b/packages/device_info_plus/device_info_plus/ios/device_info_plus.podspec index 6038dd2988..af9c4c44d5 100644 --- a/packages/device_info_plus/device_info_plus/ios/device_info_plus.podspec +++ b/packages/device_info_plus/device_info_plus/ios/device_info_plus.podspec @@ -17,7 +17,7 @@ Downloaded by pub (not CocoaPods). s.source_files = 'device_info_plus/Sources/device_info_plus/**/*.{h,m}' s.public_header_files = 'device_info_plus/Sources/device_info_plus/include/**/*.h' s.dependency 'Flutter' - s.platform = :ios, '12.0' + s.platform = :ios, '15.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } s.resource_bundles = {'device_info_plus_privacy' => ['device_info_plus/Sources/device_info_plus/PrivacyInfo.xcprivacy']} end diff --git a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m index 83a9a00e75..6aa1caa0d2 100644 --- a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m +++ b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m @@ -31,8 +31,12 @@ - (void)handleMethodCall:(FlutterMethodCall *)call isiOSAppOnMac = [NSNumber numberWithBool:[info isiOSAppOnMac]]; } NSNumber *isiOSAppOnVision = [NSNumber numberWithBool:NO]; - if (@available(iOS 26.1, *)) { - isiOSAppOnVision = [NSNumber numberWithBool:[info isiOSAppOnVision]]; + if (@available(iOS 15.0, *)) { + if (@available(iOS 26.1, *)) { + if ([info respondsToSelector:@selector(isiOSAppOnVision)]) { + isiOSAppOnVision = [NSNumber numberWithBool:[info isiOSAppOnVision]]; + } + } } NSError *error = nil; NSDictionary *fsAttributes = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; diff --git a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec index a5031bea80..63da1d364a 100644 --- a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec +++ b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec @@ -18,6 +18,6 @@ https://github.com/flutter/flutter/issues/46618 s.dependency 'FlutterMacOS' s.platform = :osx - s.osx.deployment_target = '10.14' + s.osx.deployment_target = '15.0' s.resource_bundles = {'device_info_plus_privacy' => ['device_info_plus/Sources/device_info_plus/PrivacyInfo.xcprivacy']} end From 93d94b03ba8318c9afaf0ab3561f2b15c4184736 Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 16:28:00 +0300 Subject: [PATCH 2/6] chore(device_info_plus): update macOS deployment target to 15.0 --- .../example/macos/Runner.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/device_info_plus/device_info_plus/example/macos/Runner.xcodeproj/project.pbxproj b/packages/device_info_plus/device_info_plus/example/macos/Runner.xcodeproj/project.pbxproj index 17738f85dc..43ee3cd2de 100644 --- a/packages/device_info_plus/device_info_plus/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/device_info_plus/device_info_plus/example/macos/Runner.xcodeproj/project.pbxproj @@ -553,7 +553,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -632,7 +632,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -679,7 +679,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; From e5a32929909f1b0bd28899ff5b07d269ccfd48b4 Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 16:31:02 +0300 Subject: [PATCH 3/6] Update packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../device_info_plus/macos/device_info_plus.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec index 63da1d364a..a5031bea80 100644 --- a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec +++ b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec @@ -18,6 +18,6 @@ https://github.com/flutter/flutter/issues/46618 s.dependency 'FlutterMacOS' s.platform = :osx - s.osx.deployment_target = '15.0' + s.osx.deployment_target = '10.14' s.resource_bundles = {'device_info_plus_privacy' => ['device_info_plus/Sources/device_info_plus/PrivacyInfo.xcprivacy']} end From d880c31d48991da3b014979df9dffddb0c342af4 Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 16:31:11 +0300 Subject: [PATCH 4/6] Update packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m index 6aa1caa0d2..7dad780768 100644 --- a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m +++ b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m @@ -33,8 +33,12 @@ - (void)handleMethodCall:(FlutterMethodCall *)call NSNumber *isiOSAppOnVision = [NSNumber numberWithBool:NO]; if (@available(iOS 15.0, *)) { if (@available(iOS 26.1, *)) { - if ([info respondsToSelector:@selector(isiOSAppOnVision)]) { - isiOSAppOnVision = [NSNumber numberWithBool:[info isiOSAppOnVision]]; + SEL isiOSAppOnVisionSelector = NSSelectorFromString(@"isiOSAppOnVision"); + if ([info respondsToSelector:isiOSAppOnVisionSelector]) { + BOOL (*isiOSAppOnVisionIMP)(id, SEL) = + (BOOL (*)(id, SEL))[info methodForSelector:isiOSAppOnVisionSelector]; + isiOSAppOnVision = + [NSNumber numberWithBool:isiOSAppOnVisionIMP(info, isiOSAppOnVisionSelector)]; } } } From 86207ac76151ad5d5d7ff2372ee29a65a4907e85 Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 16:58:46 +0300 Subject: [PATCH 5/6] fix(device_info_plus): update macOS deployment target to 15.0 --- .../device_info_plus/macos/device_info_plus.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec index a5031bea80..63da1d364a 100644 --- a/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec +++ b/packages/device_info_plus/device_info_plus/macos/device_info_plus.podspec @@ -18,6 +18,6 @@ https://github.com/flutter/flutter/issues/46618 s.dependency 'FlutterMacOS' s.platform = :osx - s.osx.deployment_target = '10.14' + s.osx.deployment_target = '15.0' s.resource_bundles = {'device_info_plus_privacy' => ['device_info_plus/Sources/device_info_plus/PrivacyInfo.xcprivacy']} end From d20ad6d6e0411c353e257d28b304f8b55c1f926a Mon Sep 17 00:00:00 2001 From: Mohamed Elsaeed Date: Tue, 28 Apr 2026 17:15:51 +0300 Subject: [PATCH 6/6] fix(device_info_plus): add Podfiles to example apps with 15.0 deployment target --- packages/device_info_plus/device_info_plus/.gitignore | 2 ++ packages/device_info_plus/device_info_plus/example/ios/Podfile | 1 + .../device_info_plus/device_info_plus/example/macos/Podfile | 1 + 3 files changed, 4 insertions(+) create mode 100644 packages/device_info_plus/device_info_plus/example/ios/Podfile create mode 100644 packages/device_info_plus/device_info_plus/example/macos/Podfile diff --git a/packages/device_info_plus/device_info_plus/.gitignore b/packages/device_info_plus/device_info_plus/.gitignore index ece9169b44..ae982492cb 100644 --- a/packages/device_info_plus/device_info_plus/.gitignore +++ b/packages/device_info_plus/device_info_plus/.gitignore @@ -13,6 +13,8 @@ examples/all_plugins/pubspec.yaml .build/ Podfile +!example/ios/Podfile +!example/macos/Podfile Podfile.lock Pods/ .swiftpm/ diff --git a/packages/device_info_plus/device_info_plus/example/ios/Podfile b/packages/device_info_plus/device_info_plus/example/ios/Podfile new file mode 100644 index 0000000000..d5049d3239 --- /dev/null +++ b/packages/device_info_plus/device_info_plus/example/ios/Podfile @@ -0,0 +1 @@ +platform :ios, '15.0' \ No newline at end of file diff --git a/packages/device_info_plus/device_info_plus/example/macos/Podfile b/packages/device_info_plus/device_info_plus/example/macos/Podfile new file mode 100644 index 0000000000..de318b71e0 --- /dev/null +++ b/packages/device_info_plus/device_info_plus/example/macos/Podfile @@ -0,0 +1 @@ +platform :osx, '15.0' \ No newline at end of file