From be881b27e9e427c7f80f63a20a2e042ce6ed0d91 Mon Sep 17 00:00:00 2001 From: Gabriel Araujo Date: Tue, 12 Sep 2023 13:08:11 -0300 Subject: [PATCH 1/7] Added dynamic uti type for image and video --- ios/Classes/FilePickerPlugin.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ios/Classes/FilePickerPlugin.m b/ios/Classes/FilePickerPlugin.m index 449f7624..f27c2075 100644 --- a/ios/Classes/FilePickerPlugin.m +++ b/ios/Classes/FilePickerPlugin.m @@ -482,6 +482,9 @@ -(void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray Date: Tue, 12 Sep 2023 14:23:22 -0300 Subject: [PATCH 2/7] Adjusted to use Media type attribute --- .../.settings/org.eclipse.buildship.core.prefs | 11 +++++++++++ ios/Classes/FilePickerPlugin.m | 7 +++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/example/android/.settings/org.eclipse.buildship.core.prefs b/example/android/.settings/org.eclipse.buildship.core.prefs index e8895216..25995031 100644 --- a/example/android/.settings/org.eclipse.buildship.core.prefs +++ b/example/android/.settings/org.eclipse.buildship.core.prefs @@ -1,2 +1,13 @@ +arguments=--init-script /var/folders/dx/mzczpft155n8z18_j_svnsch0000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/dx/mzczpft155n8z18_j_svnsch0000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle +auto.sync=false +build.scans.enabled=false +connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.4.2)) connection.project.dir= eclipse.preferences.version=1 +gradle.user.home= +java.home=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home +jvm.arguments= +offline.mode=false +override.workspace.settings=true +show.console.view=true +show.executions.view=true diff --git a/ios/Classes/FilePickerPlugin.m b/ios/Classes/FilePickerPlugin.m index f27c2075..db57ff93 100644 --- a/ios/Classes/FilePickerPlugin.m +++ b/ios/Classes/FilePickerPlugin.m @@ -23,6 +23,7 @@ @interface FilePickerPlugin() @property (nonatomic) BOOL loadDataToMemory; @property (nonatomic) BOOL allowCompression; @property (nonatomic) dispatch_group_t group; +@property (nonatomic) MediaType type; @end @implementation FilePickerPlugin @@ -188,6 +189,8 @@ - (void)resolvePickDocumentWithMultiPick:(BOOL)allowsMultipleSelection pickDirec #ifdef PICKER_MEDIA - (void) resolvePickMedia:(MediaType)type withMultiPick:(BOOL)multiPick withCompressionAllowed:(BOOL)allowCompression { + + self.type = type; #ifdef PHPicker if (@available(iOS 14, *)) { @@ -483,8 +486,8 @@ -(void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray Date: Tue, 12 Sep 2023 14:26:23 -0300 Subject: [PATCH 3/7] revert on eclipse prefs --- .../.settings/org.eclipse.buildship.core.prefs | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/example/android/.settings/org.eclipse.buildship.core.prefs b/example/android/.settings/org.eclipse.buildship.core.prefs index 25995031..9d2efc8e 100644 --- a/example/android/.settings/org.eclipse.buildship.core.prefs +++ b/example/android/.settings/org.eclipse.buildship.core.prefs @@ -1,13 +1,2 @@ -arguments=--init-script /var/folders/dx/mzczpft155n8z18_j_svnsch0000gn/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/dx/mzczpft155n8z18_j_svnsch0000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle -auto.sync=false -build.scans.enabled=false -connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(7.4.2)) connection.project.dir= -eclipse.preferences.version=1 -gradle.user.home= -java.home=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home -jvm.arguments= -offline.mode=false -override.workspace.settings=true -show.console.view=true -show.executions.view=true +eclipse.preferences.version=1 \ No newline at end of file From 1ca6777567da35b8cc321e7844a492caa80ecc0d Mon Sep 17 00:00:00 2001 From: Gabriel Araujo Date: Tue, 12 Sep 2023 17:01:27 -0300 Subject: [PATCH 4/7] Version 5.5.1 --- CHANGELOG.md | 3 +++ pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5506b32..7007e63a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 5.5.1 +### iOS +- fix [1367](https://github.com/miguelpruivo/flutter_file_picker/issues/1367) ## 5.5.0 ### iOS Fix if selecting from gallery multiple files from remote sources (eg GoPro, Drone) imported to the device gallery and uploaded to iCloud they would have the same file name and it shows only one image repeated diff --git a/pubspec.yaml b/pubspec.yaml index 85dc5b35..60a32967 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A package that allows you to use a native file explorer to pick sin homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker repository: https://github.com/miguelpruivo/flutter_file_picker issue_tracker: https://github.com/miguelpruivo/flutter_file_picker/issues -version: 5.5.0 +version: 5.5.1 dependencies: flutter: From 4b69ae2ef04e4971b4a52a3ed37838a7e312b060 Mon Sep 17 00:00:00 2001 From: mtz Date: Tue, 5 Nov 2024 19:50:28 -0300 Subject: [PATCH 5/7] add better handling to loadFileRepresentation and add them to logs --- ios/Classes/FilePickerPlugin.m | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ios/Classes/FilePickerPlugin.m b/ios/Classes/FilePickerPlugin.m index 695e3200..1f4cfca1 100644 --- a/ios/Classes/FilePickerPlugin.m +++ b/ios/Classes/FilePickerPlugin.m @@ -518,10 +518,9 @@ -(void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray_group); @@ -609,9 +616,10 @@ -(void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray_eventSink([NSNumber numberWithBool:NO]); } + NSString *errorMsg = [NSString stringWithFormat:@"Temporary file could not be created for types: [ %@ ]", utiErrorValues]; if(blockError) { self->_result([FlutterError errorWithCode:@"file_picker_error" - message:@"Temporary file could not be created" + message: errorMsg details:blockError.description]); self->_result = nil; return; From bd942589012a0a9743763fbcf8f8347c5b105777 Mon Sep 17 00:00:00 2001 From: Dominik Roszkowski Date: Wed, 29 Jan 2025 17:49:28 +0100 Subject: [PATCH 6/7] Fix for videos images and media --- .../Sources/file_picker/FilePickerPlugin.m | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ios/file_picker/Sources/file_picker/FilePickerPlugin.m b/ios/file_picker/Sources/file_picker/FilePickerPlugin.m index b2ceb129..f015c20a 100644 --- a/ios/file_picker/Sources/file_picker/FilePickerPlugin.m +++ b/ios/file_picker/Sources/file_picker/FilePickerPlugin.m @@ -532,19 +532,36 @@ -(void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray_group); + return; + } + } else if (isImageSelection) { if (![result.itemProvider hasItemConformingToTypeIdentifier:@"public.image"]) { [errors addObject:[NSString stringWithFormat:@"Item at index %ld is not an image", (long)index]]; dispatch_group_leave(self->_group); return; } + } - [result.itemProvider loadFileRepresentationForTypeIdentifier:@"public.image" completionHandler:^(NSURL * _Nullable url, NSError * _Nullable error) { + NSString *typeIdentifier; + if ([result.itemProvider hasItemConformingToTypeIdentifier:@"public.image"]) { + typeIdentifier = @"public.image"; + } else { + typeIdentifier = @"public.movie"; + } + + [result.itemProvider loadFileRepresentationForTypeIdentifier:typeIdentifier completionHandler:^(NSURL * _Nullable url, NSError * _Nullable error) { @autoreleasepool { if (error != nil || url == nil) { [errors addObject:[NSString stringWithFormat:@"Failed to load image at index %ld: %@", From 728b949a5858620d895ce7a8e323db3962ad5acb Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 29 Jan 2025 18:21:05 +0100 Subject: [PATCH 7/7] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1adc0b9..80471d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## 8.3.1 ### iOS -- fix [1367](https://github.com/miguelpruivo/flutter_file_picker/issues/1367) +- Fix [1367](https://github.com/miguelpruivo/flutter_file_picker/issues/1367) ## 8.3.0 ### Desktop (macOS) && iOS