From 885d50dfc43c725b109ff76e0a5ec55c11d10d63 Mon Sep 17 00:00:00 2001 From: ledexsoft <95057097+ledexsoft@users.noreply.github.com> Date: Mon, 7 Sep 2026 18:36:06 -0300 Subject: [PATCH 1/2] [image_picker_ios] Replace deprecated kUTTypeImage/kUTTypeMovie with UTType on iOS 14+ --- .../image_picker/image_picker_ios/CHANGELOG.md | 4 ++++ .../image_picker_ios/FLTImagePickerPlugin.m | 17 +++++++++++++++-- .../image_picker/image_picker_ios/pubspec.yaml | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md index 464d2029b1c4..727efedcaaea 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+8 + +* Replaces deprecated `kUTTypeImage` and `kUTTypeMovie` with `UTTypeImage` and `UTTypeMovie` to fix iOS 15+ deprecation warnings. + ## 0.8.13+7 * Updates pigeon dev_dependency to ^27.3.2 for analyzer 14 compatibility. diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m index 82991980d0c7..fc58acb0ab72 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m @@ -11,6 +11,7 @@ #import #import #import +#import #import "./include/image_picker_ios/messages.g.h" #import "FLTImagePickerImageUtil.h" @@ -127,10 +128,22 @@ - (void)launchUIImagePickerWithSource:(nonnull FLTSourceSpecification *)source imagePickerController.delegate = self; NSMutableArray *mediaTypes = [[NSMutableArray alloc] init]; if (context.includeImages) { - [mediaTypes addObject:(NSString *)kUTTypeImage]; + NSString *imageType; + if (@available(iOS 14.0, *)) { + imageType = UTTypeImage.identifier; + } else { + imageType = (NSString *)kUTTypeImage; + } + [mediaTypes addObject:imageType]; } if (context.includeVideo) { - [mediaTypes addObject:(NSString *)kUTTypeMovie]; + NSString *movieType; + if (@available(iOS 14.0, *)) { + movieType = UTTypeMovie.identifier; + } else { + movieType = (NSString *)kUTTypeMovie; + } + [mediaTypes addObject:movieType]; imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh; } imagePickerController.mediaTypes = mediaTypes; diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml index f9ccc527f28f..f741b2a54cb8 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+7 +version: 0.8.13+8 environment: sdk: ^3.10.0 From 9df04323829fa58ae735f96e49137ae2b96ed7c9 Mon Sep 17 00:00:00 2001 From: ledexsoft <95057097+ledexsoft@users.noreply.github.com> Date: Mon, 7 Sep 2026 19:19:33 -0300 Subject: [PATCH 2/2] [image_picker_ios] Default media types to legacy constants, override on iOS 14+ --- .../Sources/image_picker_ios/FLTImagePickerPlugin.m | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m index fc58acb0ab72..8c62db6311b5 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m @@ -128,20 +128,16 @@ - (void)launchUIImagePickerWithSource:(nonnull FLTSourceSpecification *)source imagePickerController.delegate = self; NSMutableArray *mediaTypes = [[NSMutableArray alloc] init]; if (context.includeImages) { - NSString *imageType; + NSString *imageType = (NSString *)kUTTypeImage; if (@available(iOS 14.0, *)) { imageType = UTTypeImage.identifier; - } else { - imageType = (NSString *)kUTTypeImage; } [mediaTypes addObject:imageType]; } if (context.includeVideo) { - NSString *movieType; + NSString *movieType = (NSString *)kUTTypeMovie; if (@available(iOS 14.0, *)) { movieType = UTTypeMovie.identifier; - } else { - movieType = (NSString *)kUTTypeMovie; } [mediaTypes addObject:movieType]; imagePickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;