From 2cb9a17ea510a24e4027ab8bae133cd1b8c5db48 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Thu, 8 Dec 2022 09:46:33 -0600 Subject: [PATCH 1/9] Improve image picker for ios to handle more image types --- .../ios/Runner.xcodeproj/project.pbxproj | 48 +++++++++++ .../PickerSaveImageToPathOperationTests.m | 80 ++++++++++++++++++ .../example/ios/TestImages/bmpImage.bmp | Bin 0 -> 92 bytes .../example/ios/TestImages/heicImage.heic | Bin 0 -> 3207 bytes .../example/ios/TestImages/icnsImage.icns | Bin 0 -> 354 bytes .../example/ios/TestImages/icoImage.ico | Bin 0 -> 139 bytes .../example/ios/TestImages/proRawImage.dng | Bin 0 -> 13149 bytes .../example/ios/TestImages/rawImage.raw | 1 + .../example/ios/TestImages/svgImage.svg | Bin 0 -> 3290 bytes .../example/ios/TestImages/tiffImage.tiff | Bin 0 -> 4192 bytes .../FLTPHPickerSaveImageToPathOperation.m | 23 ++--- 11 files changed, 138 insertions(+), 14 deletions(-) create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/bmpImage.bmp create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/heicImage.heic create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/icnsImage.icns create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/icoImage.ico create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/proRawImage.dng create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/svgImage.svg create mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/tiffImage.tiff diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj index 2847bfd85046..b803e46228fe 100644 --- a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -18,6 +18,22 @@ 680049382280F2B9006DD6AB /* pngImage.png in Resources */ = {isa = PBXBuildFile; fileRef = 680049352280F2B8006DD6AB /* pngImage.png */; }; 680049392280F2B9006DD6AB /* jpgImage.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 680049362280F2B8006DD6AB /* jpgImage.jpg */; }; 6801C8392555D726009DAF8D /* ImagePickerFromGalleryUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6801C8382555D726009DAF8D /* ImagePickerFromGalleryUITests.m */; }; + 7865C5E12941326F0010E17F /* bmpImage.bmp in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E02941326F0010E17F /* bmpImage.bmp */; }; + 7865C5E22941326F0010E17F /* bmpImage.bmp in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E02941326F0010E17F /* bmpImage.bmp */; }; + 7865C5E4294132D50010E17F /* svgImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E3294132D50010E17F /* svgImage.svg */; }; + 7865C5E5294132D50010E17F /* svgImage.svg in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E3294132D50010E17F /* svgImage.svg */; }; + 7865C5E72941374F0010E17F /* heicImage.heic in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E62941374F0010E17F /* heicImage.heic */; }; + 7865C5E82941374F0010E17F /* heicImage.heic in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E62941374F0010E17F /* heicImage.heic */; }; + 7865C5EA294137960010E17F /* icoImage.ico in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E9294137960010E17F /* icoImage.ico */; }; + 7865C5EB294137960010E17F /* icoImage.ico in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E9294137960010E17F /* icoImage.ico */; }; + 7865C5ED294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; + 7865C5EE294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; + 7865C5F0294137EB0010E17F /* rawImage.raw in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EF294137EB0010E17F /* rawImage.raw */; }; + 7865C5F1294137EB0010E17F /* rawImage.raw in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EF294137EB0010E17F /* rawImage.raw */; }; + 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; + 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; + 7865C5FC294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; }; + 7865C5FD294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; }; 86430DF9272D71E9002D9D6C /* gifImage.gif in Resources */ = {isa = PBXBuildFile; fileRef = 9FC8F0E8229FA49E00C8D58F /* gifImage.gif */; }; 86E9A893272754860017E6E0 /* PickerSaveImageToPathOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 86E9A892272754860017E6E0 /* PickerSaveImageToPathOperationTests.m */; }; 86E9A894272754A30017E6E0 /* webpImage.webp in Resources */ = {isa = PBXBuildFile; fileRef = 86E9A88F272747B90017E6E0 /* webpImage.webp */; }; @@ -81,6 +97,14 @@ 6801C83A2555D726009DAF8D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 68B9AF71243E4B3F00927CE4 /* ImagePickerPluginTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImagePickerPluginTests.m; sourceTree = ""; }; 68F4B463228B3AB500C25614 /* PhotoAssetUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PhotoAssetUtilTests.m; sourceTree = ""; }; + 7865C5E02941326F0010E17F /* bmpImage.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmpImage.bmp; sourceTree = ""; }; + 7865C5E3294132D50010E17F /* svgImage.svg */ = {isa = PBXFileReference; lastKnownFileType = file; path = svgImage.svg; sourceTree = ""; }; + 7865C5E62941374F0010E17F /* heicImage.heic */ = {isa = PBXFileReference; lastKnownFileType = file; path = heicImage.heic; sourceTree = ""; }; + 7865C5E9294137960010E17F /* icoImage.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = icoImage.ico; sourceTree = ""; }; + 7865C5EC294137AB0010E17F /* tiffImage.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = tiffImage.tiff; sourceTree = ""; }; + 7865C5EF294137EB0010E17F /* rawImage.raw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rawImage.raw; sourceTree = ""; }; + 7865C5F829414FF90010E17F /* proRawImage.dng */ = {isa = PBXFileReference; lastKnownFileType = file; path = proRawImage.dng; sourceTree = ""; }; + 7865C5FB294157BB0010E17F /* icnsImage.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icnsImage.icns; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -152,6 +176,14 @@ 9FC8F0E8229FA49E00C8D58F /* gifImage.gif */, 680049362280F2B8006DD6AB /* jpgImage.jpg */, 680049352280F2B8006DD6AB /* pngImage.png */, + 7865C5E02941326F0010E17F /* bmpImage.bmp */, + 7865C5E62941374F0010E17F /* heicImage.heic */, + 7865C5FB294157BB0010E17F /* icnsImage.icns */, + 7865C5E9294137960010E17F /* icoImage.ico */, + 7865C5F829414FF90010E17F /* proRawImage.dng */, + 7865C5EF294137EB0010E17F /* rawImage.raw */, + 7865C5E3294132D50010E17F /* svgImage.svg */, + 7865C5EC294137AB0010E17F /* tiffImage.tiff */, ); path = TestImages; sourceTree = ""; @@ -361,10 +393,18 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7865C5E12941326F0010E17F /* bmpImage.bmp in Resources */, + 7865C5E4294132D50010E17F /* svgImage.svg in Resources */, 86430DF9272D71E9002D9D6C /* gifImage.gif in Resources */, + 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */, + 7865C5EA294137960010E17F /* icoImage.ico in Resources */, + 7865C5E72941374F0010E17F /* heicImage.heic in Resources */, + 7865C5F0294137EB0010E17F /* rawImage.raw in Resources */, 86E9A894272754A30017E6E0 /* webpImage.webp in Resources */, 86E9A895272769130017E6E0 /* pngImage.png in Resources */, + 7865C5FC294157BC0010E17F /* icnsImage.icns in Resources */, 86E9A896272769150017E6E0 /* jpgImage.jpg in Resources */, + 7865C5ED294137AB0010E17F /* tiffImage.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -373,8 +413,16 @@ buildActionMask = 2147483647; files = ( 9FC8F0EC229FA68500C8D58F /* gifImage.gif in Resources */, + 7865C5EE294137AB0010E17F /* tiffImage.tiff in Resources */, + 7865C5E82941374F0010E17F /* heicImage.heic in Resources */, + 7865C5FD294157BC0010E17F /* icnsImage.icns in Resources */, 680049382280F2B9006DD6AB /* pngImage.png in Resources */, 680049392280F2B9006DD6AB /* jpgImage.jpg in Resources */, + 7865C5EB294137960010E17F /* icoImage.ico in Resources */, + 7865C5F1294137EB0010E17F /* rawImage.raw in Resources */, + 7865C5E22941326F0010E17F /* bmpImage.bmp in Resources */, + 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */, + 7865C5E5294132D50010E17F /* svgImage.svg in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m index e04c4f2abb50..e2382f25948b 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m @@ -55,6 +55,86 @@ - (void)testSaveGIFImage API_AVAILABLE(ios(14)) { [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } +- (void)testSaveBMPImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"bmpImage" + withExtension:@"bmp"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveHEICImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"heicImage" + withExtension:@"heic"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveICNSImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"icnsImage" + withExtension:@"icns"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveICOImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"icoImage" + withExtension:@"ico"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveProRAWImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"proRawImage" + withExtension:@"dng"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveRAWImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"rawImage" + withExtension:@"raw"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveSVGImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"svgImage" + withExtension:@"svg"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + +- (void)testSaveTIFFImage API_AVAILABLE(ios(14)) { + NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"tiffImage" + withExtension:@"tiff"]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider + withIdentifier:UTTypeWebP.identifier]; + + [self verifySavingImageWithPickerResult:result fullMetadata:YES]; +} + - (void)testSavePNGImageWithoutFullMetadata API_AVAILABLE(ios(14)) { id photoAssetUtil = OCMClassMock([PHAsset class]); diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/bmpImage.bmp b/packages/image_picker/image_picker_ios/example/ios/TestImages/bmpImage.bmp new file mode 100644 index 0000000000000000000000000000000000000000..553e765fb01836d630da6c16871d7711e7d96b70 GIT binary patch literal 92 rcmZ?rjbVTQJ0PV2#5_RE4#bQ=2m*3IEW{1LU;!Xu>huc6#6trBzKH`M literal 0 HcmV?d00001 diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/heicImage.heic b/packages/image_picker/image_picker_ios/example/ios/TestImages/heicImage.heic new file mode 100644 index 0000000000000000000000000000000000000000..03f41f69cc82bcbf8dbdf4bca815de36783b05f3 GIT binary patch literal 3207 zcmeHJ%WD%s7@y7BG}Ta~4_d3#Wm_RC&88I#2~Ar~d{Br;8?^03w!52T=sw2Xt=Z;c zeIZp5grWxzMtjkdp1gQ43W6veJoTWLN-rW}p_dj~;y0UZ>i=K{zI^X*e*2pV3__?q zW6zSDf+YltY7J+45%L|<6kDV*SbR=a&5DT-!IHggS9Q0H^$d6iWK*G!SP!*4@c#IDdlR*74CXxZVSu#{pmsAJpeaJrtq04|M!LYRI z6$nC|t7vm;eI21aY!Sw^4KqQeT&4vqtpH>!>LlGyA=h=1aXbG>6kE6xrALiFI#(vr z-vfbm-!rIdNHQhS{5U+;4f9*DMHF`@pb&HbBqXUKML>N@ZM~;KA*Nh{-#HM38n9`& z2eg-92h#`}2+#rhFwwS86o~L&yUyOc<%dKJtA>00Ns61!1_=tF$AJOY^QA!FryoXh zzHhKin%bHydY57M2>AZWDWy{A2zUWh$2568(8YA1x=KG9VfI(;Q6}Woz+Sg8+U3oX^=di3vhJpAYAcg$*++^hTpmA<`%G_4PnSk2R~? zqSK>WUE33qiY1wt&e*@Z-MhHY3mgH(s>R@em@mJCg(riI>c1mITv zSi)3f41?ak;LaFER#kWbFw_4G1x?NB*AH^FRb!yWK#hSK12qO}4E%o#?7W{89Ue`2 zcpcGaRXW7HT>LQCacQwMvbOY~ekJki_1gT^t%nnnIpK3?ZL{3^Wn%r)-BK(&-+b_Q q$Jo#A3(ZX%@{QokyT`bHVdKv8x_jj(OJ5hV%Z145P@82hto{Y%%Lo1d literal 0 HcmV?d00001 diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/icnsImage.icns b/packages/image_picker/image_picker_ios/example/ios/TestImages/icnsImage.icns new file mode 100644 index 0000000000000000000000000000000000000000..db0fbb07a69b930b74ec1275a6c551fb66bbca9a GIT binary patch literal 354 zcmc~y&MRhMU`)zPHZWmeV32VPa(DXw|M&m@uYSM!@BG{Ozv*w&%)GRGpc=cRf}G6a z5(9%Pj7-cdtZeLD5h`V=Ma7xt&}_7DoYT zs6k;W$vKI|#ft=m8kicG7m0{Aur#nXu!ZC$=BCCAhykTiOOg{y5_9s?b&FEdQj1da zl2b!6lk@XHW=hM5Em+XNc1d1AQ7H;y5=dhNgqd0#;}`6bnOp+&NMcdtB1Pp0zhHl` z2RHz=*)4jjF3^Vv&ar~v^ZBZOv9fzmMQ F695C(b}9e> literal 0 HcmV?d00001 diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/icoImage.ico b/packages/image_picker/image_picker_ios/example/ios/TestImages/icoImage.ico new file mode 100644 index 0000000000000000000000000000000000000000..30923c7b6435c1117ed56a8426fecaf4856acd22 GIT binary patch literal 139 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 literal 0 HcmV?d00001 diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw b/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw new file mode 100644 index 000000000000..aa4f993dd8ad --- /dev/null +++ b/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw @@ -0,0 +1 @@ +ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ \ No newline at end of file diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/svgImage.svg b/packages/image_picker/image_picker_ios/example/ios/TestImages/svgImage.svg new file mode 100644 index 0000000000000000000000000000000000000000..12b2dc17624c028f8627b0aa72b82763cbab81e4 GIT binary patch literal 3290 zcmex=kR1VRQz zDF#+Bn}NZLQ5wz;V$^`DVPart&tzbMs)+*9AOJKOq#H^zFJMHNxPS?+nr8tsoXrl> z_WvPgaYji=ft9{~Ua?+cN`6wRUUGh}ennz|zM-ChK7);YML}Y6c4~=2Qfhi;o~_dR z-TRdkGE;1o!cBb*d<&dYGcrA@ic*8C{6dnevXd=SljF4@-9<|J>PIC z)FAWfZHvW%{|_(-axkzn@GvtfF)#@-G7B>PKf)jnY#6dKf&o|?kYHqDW?^Mx=iubx z1}fMpz`(@F%*@2X%*qOK1Y<2wo`FS>RY=j$kxe)-kzJ`!#HexNLJno8jR!@8E`Crk zPAY2R|V^&07y2J$~}^+4C1KUw!=a`ODXD-+%o41@afLi3{--kc9XQ&0m5*e=)JJ zFtf0O{Kd#r4)VAl3#+0bn~-B5dt#xml2Idvh||P{8xL|S8wY(5O)9#`C8lEXQ1v6o zYha%d=dmWTdeO? z6Xq8X73Ad=mJ${Px>Zt=Ur1V3T0&M#LQ>*C&=5wTRyI~PZZ5FyYtQDH|L&v&bjBDn`yF$AQ+ilZfn(GV|1j7Qk9`^vcA zgc0(@0mkFpfF8m72N@5!Wx-*9cZ><-+C}1Tz5sPm9xi7@06^5oI|>diyy3d9pHwh- z;k^hiVo7zEGAS z@`8+uc^24!iZaL7VnR$D7A#YUFgLCf*U7?@d5G*_m`;yHVIdh(oHcrGp+sKLoAk}COy9BH2AppkEOLPU82g;=f>%cK}?m!Bb1 zDSa(0a7RO9Fiv^4OexFDmdS_QN%Ob^k#hwy32$hc=gf8D4S9h^e1@jHf)yg6Sm`&E z4WHp<-{!u0_Tk~-j0kUV?*me}c|W=jZzz#|bXW>TM6_5cL$v^qNR^6&@E~kLY8pmq zhb5o^GH?cfFUXU}B!(qHWe^z}jO9TkoQKETn*&t^*EkVz7&a{buSi=US14gy#6j)R zLYP;`C6IFqlyY3&3z?OXgEI^_Firr1W%440I4fI;*$M11*i;@^gs31_q*QX^_<|h1LJ0d)BIiqs02tge zz6$8zxy4|T-JCt$+&C^=nEs*hmy<(Ue+_tT2Q^;D57Z1{w++jN*AB~MH2`?@!Q8AE zmSwC5pm8Ap`gezAR$BnjECHb5(un=A@qQU`$iyN67fT%hntu)>{Bd!AL%G93 zM45b5t`ftODv;&MR0=Fl&KHO<&c8SD-(EN(tPydHN)Tm=6e1~fl?=N~EX{)Dmck>9 ze_x2De^%kYxokuXI1ctT1ZM4Lz?#YhT9;UW@M{|&GSvWK(k3{A4Am`~mJINdmtxjE z*!Pg({J`^H9_VuTisp&4FkBp*kc0_TihP{mnZO?;KnI$D1q^^GumpC116+VR@CE@O z6pRJ2APJ;`DL??SfdnW(0hk5mgHliqR)Dpj3Ty_opbpf7{h$#X0Vly(a1mSvH^4p6 z0lL6*&J)xPJgCaIH*Nsc5hQY2{t zDT`D)G%rqRZ1y}oZ zHdEVKJ62nwy;OUb_Id56IusonolqU2PKnMool`oUOajxA8O#(g7cgs?XP8|qGRu|~ z$(qJ0XZ^rxXZ7mp=#J4%)-BYn);+4*!6vY6*pcj9_Hy=q_D%LjJrlh^J(1oLy?VW? zdhhg&^aJ!o`epii^>65ZG{6i(4RQ=t8Z;U_FeDl}7{(hG7;Z8=WB9^|W#nxnFe)?J zZ*s0G>&soQLtaGt*v-9sR4lV+hYM1My)klYoo;$i}^s6zB zV?<*%jk)d0bd7OckoqA?=|$q2oiVLLY`%gk^>84(knf z4WAi)B7zhV6|pknR-{R!AhIs9cdYx^*<(*fF`^Qqs-hl8J47p@n`6+Ju`#P-?vJw` zCmq)q3t}TTue1g6{j|(QPPsrwx{(?44t@kV%H?sNu`r+PPUy~ zIQje(!zsB_j!xB_%Aa~5os^!EzAOC`KbBv^@5_kH*pSgH2o|gpJQoHC*9dz=zM@s4 z?o8jzRhdt-e6v<(^Pet;nHhNm2KVuo>UaB+eAfY?);~YyPZ9vjb;uorBEDnA0-Xa&F1ou6g0}cFw2I z&zb*ou~YG?;x`LY7BrWbl*}vXTo}G^cd16HqV(1x??syz6BmmYw=WsJWc`xQWx}!x z`T5q*}#rjWG*;O~HgR1v#Fy63a!@G^bjaN4XY^vXE zvblWo$1UP5x3`9GZK$!Ssn|x|mcQ*uZE|hv_a5KZZ8zLrzWt9K(j6T;6Ly}ibFZu0 zWxQ+oZgjV5ch8y|Fq#C z^I%y6(oodU+nC+h(UjVB<J(9r244t(dEbJ$4ZWUIX>ff-wFAN z7bmk$cD77yxp!*9sq3fXPq&|mI&7Cp=ukPmG?Y}qgKIwkh1FZ)Y4~-wz{9^yh-VV2pqmM!!wLMOJe6Lf``TQSw|M=8Z z@ _Nullable image, - NSError *_Nullable error) { - if ([image isKindOfClass:[UIImage class]]) { - [self processImage:image]; - } - }]; } else { [self setFinished:YES]; } From ca426d11411b6c6b03579faed8c9b21a82e222ed Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Thu, 8 Dec 2022 09:48:46 -0600 Subject: [PATCH 2/9] Update release info --- packages/image_picker/image_picker_ios/CHANGELOG.md | 4 ++++ packages/image_picker/image_picker_ios/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md index 986f5c0ff6ca..bff6dd7394f2 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.6+2 + +* Fixes issue where selectable images of certain types (such as ProRAW images) could not be loaded. + ## 0.8.6+1 * Fixes issue with crashing the app when picking images with PHPicker without providing `Photo Library Usage` permission. diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml index 6c78b2340ed0..e1b389161d75 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/plugins/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.6+1 +version: 0.8.6+2 environment: sdk: ">=2.14.0 <3.0.0" From 10970db7c95e6d633ed76aa410c4c458ca84982b Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Thu, 8 Dec 2022 10:45:02 -0600 Subject: [PATCH 3/9] different svg, remove raw test --- .../ios/Runner.xcodeproj/project.pbxproj | 6 ------ .../PickerSaveImageToPathOperationTests.m | 10 ---------- .../example/ios/TestImages/rawImage.raw | 1 - .../example/ios/TestImages/svgImage.svg | Bin 3290 -> 148 bytes 4 files changed, 17 deletions(-) delete mode 100644 packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj index b803e46228fe..cd3e8ab01335 100644 --- a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -28,8 +28,6 @@ 7865C5EB294137960010E17F /* icoImage.ico in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E9294137960010E17F /* icoImage.ico */; }; 7865C5ED294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; 7865C5EE294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; - 7865C5F0294137EB0010E17F /* rawImage.raw in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EF294137EB0010E17F /* rawImage.raw */; }; - 7865C5F1294137EB0010E17F /* rawImage.raw in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EF294137EB0010E17F /* rawImage.raw */; }; 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; 7865C5FC294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; }; @@ -102,7 +100,6 @@ 7865C5E62941374F0010E17F /* heicImage.heic */ = {isa = PBXFileReference; lastKnownFileType = file; path = heicImage.heic; sourceTree = ""; }; 7865C5E9294137960010E17F /* icoImage.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = icoImage.ico; sourceTree = ""; }; 7865C5EC294137AB0010E17F /* tiffImage.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = tiffImage.tiff; sourceTree = ""; }; - 7865C5EF294137EB0010E17F /* rawImage.raw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rawImage.raw; sourceTree = ""; }; 7865C5F829414FF90010E17F /* proRawImage.dng */ = {isa = PBXFileReference; lastKnownFileType = file; path = proRawImage.dng; sourceTree = ""; }; 7865C5FB294157BB0010E17F /* icnsImage.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icnsImage.icns; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -181,7 +178,6 @@ 7865C5FB294157BB0010E17F /* icnsImage.icns */, 7865C5E9294137960010E17F /* icoImage.ico */, 7865C5F829414FF90010E17F /* proRawImage.dng */, - 7865C5EF294137EB0010E17F /* rawImage.raw */, 7865C5E3294132D50010E17F /* svgImage.svg */, 7865C5EC294137AB0010E17F /* tiffImage.tiff */, ); @@ -399,7 +395,6 @@ 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */, 7865C5EA294137960010E17F /* icoImage.ico in Resources */, 7865C5E72941374F0010E17F /* heicImage.heic in Resources */, - 7865C5F0294137EB0010E17F /* rawImage.raw in Resources */, 86E9A894272754A30017E6E0 /* webpImage.webp in Resources */, 86E9A895272769130017E6E0 /* pngImage.png in Resources */, 7865C5FC294157BC0010E17F /* icnsImage.icns in Resources */, @@ -419,7 +414,6 @@ 680049382280F2B9006DD6AB /* pngImage.png in Resources */, 680049392280F2B9006DD6AB /* jpgImage.jpg in Resources */, 7865C5EB294137960010E17F /* icoImage.ico in Resources */, - 7865C5F1294137EB0010E17F /* rawImage.raw in Resources */, 7865C5E22941326F0010E17F /* bmpImage.bmp in Resources */, 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */, 7865C5E5294132D50010E17F /* svgImage.svg in Resources */, diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m index e2382f25948b..302e029fc776 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m @@ -105,16 +105,6 @@ - (void)testSaveProRAWImage API_AVAILABLE(ios(14)) { [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } -- (void)testSaveRAWImage API_AVAILABLE(ios(14)) { - NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"rawImage" - withExtension:@"raw"]; - NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; - - [self verifySavingImageWithPickerResult:result fullMetadata:YES]; -} - - (void)testSaveSVGImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"svgImage" withExtension:@"svg"]; diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw b/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw deleted file mode 100644 index aa4f993dd8ad..000000000000 --- a/packages/image_picker/image_picker_ios/example/ios/TestImages/rawImage.raw +++ /dev/null @@ -1 +0,0 @@ -ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ęB5˙ \ No newline at end of file diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/svgImage.svg b/packages/image_picker/image_picker_ios/example/ios/TestImages/svgImage.svg index 12b2dc17624c028f8627b0aa72b82763cbab81e4..19d6af9f660eefc5c5074790850011a65cfbf2eb 100644 GIT binary patch literal 148 zcmZ{dF%H8Z5CnU_;&cyygA|q`pvYHZ3`oR8aPs;2ArJ6WTg+q%Q8($hdVV;`j*9*r^xQZ~+WTZ9}-%ItBSPKokrmq!8uV`0Uxz{K_V=9|x6 PYW3LThM>dZ{;}`_JRd8d literal 3290 zcmex=kR1VRQz zDF#+Bn}NZLQ5wz;V$^`DVPart&tzbMs)+*9AOJKOq#H^zFJMHNxPS?+nr8tsoXrl> z_WvPgaYji=ft9{~Ua?+cN`6wRUUGh}ennz|zM-ChK7);YML}Y6c4~=2Qfhi;o~_dR z-TRdkGE;1o!cBb*d<&dYGcrA@ic*8C{6dnevXd=SljF4@-9<|J>PIC z)FAWfZHvW%{|_(-axkzn@GvtfF)#@-G7B>PKf)jnY#6dKf&o|?kYHqDW?^Mx=iubx z1}fMpz`(@F%*@2X%*qOK1Y<2wo`FS>RY=j$kxe)-kzJ`!#HexNLJno8jR!@8E`Crk zPAY2R|V^&07y2J$~}^+4C1KUw!=a`ODXD-+%o41@afLi3{--kc9XQ&0m5*e=)JJ zFtf0O{Kd#r4)VAl3#+0bn~-B5dt#xml2Idvh||P{8xL|S8wY(5O)9#`C8lEXQ1v6o zYha%d=dmWTdeO? z6Xq8X73Ad=mJ${Px>Zt=Ur1V3T0&M#LQ>*C&=5wTRyI~PZZ Date: Thu, 8 Dec 2022 11:16:23 -0600 Subject: [PATCH 4/9] change pro raw image --- .../ios/Runner.xcodeproj/project.pbxproj | 14 +++++++------- .../example/ios/TestImages/proRawImage.dng | Bin 13149 -> 8297 bytes 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj index cd3e8ab01335..2c97bd1d667f 100644 --- a/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/image_picker/image_picker_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -28,10 +28,10 @@ 7865C5EB294137960010E17F /* icoImage.ico in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5E9294137960010E17F /* icoImage.ico */; }; 7865C5ED294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; 7865C5EE294137AB0010E17F /* tiffImage.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5EC294137AB0010E17F /* tiffImage.tiff */; }; - 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; - 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5F829414FF90010E17F /* proRawImage.dng */; }; 7865C5FC294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; }; 7865C5FD294157BC0010E17F /* icnsImage.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FB294157BB0010E17F /* icnsImage.icns */; }; + 7865C5FF294252A60010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FE294252A60010E17F /* proRawImage.dng */; }; + 7865C600294252A60010E17F /* proRawImage.dng in Resources */ = {isa = PBXBuildFile; fileRef = 7865C5FE294252A60010E17F /* proRawImage.dng */; }; 86430DF9272D71E9002D9D6C /* gifImage.gif in Resources */ = {isa = PBXBuildFile; fileRef = 9FC8F0E8229FA49E00C8D58F /* gifImage.gif */; }; 86E9A893272754860017E6E0 /* PickerSaveImageToPathOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 86E9A892272754860017E6E0 /* PickerSaveImageToPathOperationTests.m */; }; 86E9A894272754A30017E6E0 /* webpImage.webp in Resources */ = {isa = PBXBuildFile; fileRef = 86E9A88F272747B90017E6E0 /* webpImage.webp */; }; @@ -96,12 +96,12 @@ 68B9AF71243E4B3F00927CE4 /* ImagePickerPluginTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImagePickerPluginTests.m; sourceTree = ""; }; 68F4B463228B3AB500C25614 /* PhotoAssetUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PhotoAssetUtilTests.m; sourceTree = ""; }; 7865C5E02941326F0010E17F /* bmpImage.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmpImage.bmp; sourceTree = ""; }; - 7865C5E3294132D50010E17F /* svgImage.svg */ = {isa = PBXFileReference; lastKnownFileType = file; path = svgImage.svg; sourceTree = ""; }; + 7865C5E3294132D50010E17F /* svgImage.svg */ = {isa = PBXFileReference; lastKnownFileType = text; path = svgImage.svg; sourceTree = ""; }; 7865C5E62941374F0010E17F /* heicImage.heic */ = {isa = PBXFileReference; lastKnownFileType = file; path = heicImage.heic; sourceTree = ""; }; 7865C5E9294137960010E17F /* icoImage.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = icoImage.ico; sourceTree = ""; }; 7865C5EC294137AB0010E17F /* tiffImage.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = tiffImage.tiff; sourceTree = ""; }; - 7865C5F829414FF90010E17F /* proRawImage.dng */ = {isa = PBXFileReference; lastKnownFileType = file; path = proRawImage.dng; sourceTree = ""; }; 7865C5FB294157BB0010E17F /* icnsImage.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icnsImage.icns; sourceTree = ""; }; + 7865C5FE294252A60010E17F /* proRawImage.dng */ = {isa = PBXFileReference; lastKnownFileType = file; path = proRawImage.dng; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -177,7 +177,7 @@ 7865C5E62941374F0010E17F /* heicImage.heic */, 7865C5FB294157BB0010E17F /* icnsImage.icns */, 7865C5E9294137960010E17F /* icoImage.ico */, - 7865C5F829414FF90010E17F /* proRawImage.dng */, + 7865C5FE294252A60010E17F /* proRawImage.dng */, 7865C5E3294132D50010E17F /* svgImage.svg */, 7865C5EC294137AB0010E17F /* tiffImage.tiff */, ); @@ -392,7 +392,7 @@ 7865C5E12941326F0010E17F /* bmpImage.bmp in Resources */, 7865C5E4294132D50010E17F /* svgImage.svg in Resources */, 86430DF9272D71E9002D9D6C /* gifImage.gif in Resources */, - 7865C5F929414FF90010E17F /* proRawImage.dng in Resources */, + 7865C5FF294252A60010E17F /* proRawImage.dng in Resources */, 7865C5EA294137960010E17F /* icoImage.ico in Resources */, 7865C5E72941374F0010E17F /* heicImage.heic in Resources */, 86E9A894272754A30017E6E0 /* webpImage.webp in Resources */, @@ -415,7 +415,7 @@ 680049392280F2B9006DD6AB /* jpgImage.jpg in Resources */, 7865C5EB294137960010E17F /* icoImage.ico in Resources */, 7865C5E22941326F0010E17F /* bmpImage.bmp in Resources */, - 7865C5FA29414FF90010E17F /* proRawImage.dng in Resources */, + 7865C600294252A60010E17F /* proRawImage.dng in Resources */, 7865C5E5294132D50010E17F /* svgImage.svg in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/proRawImage.dng b/packages/image_picker/image_picker_ios/example/ios/TestImages/proRawImage.dng index d92587638a624667a452e30a8e22cce964cd2da8..b87b709a4c3ad358bbf07231f82e55a1d1996245 100644 GIT binary patch delta 777 zcmV+k1NQvgX6Zn%WDOP@t^fc4000000000000004y8r+Vg0p%JxdI9W|G)qd2mna{ zNwYl=cmq3BKHPuj>VNb900OP$lT@Ekmd&ptvvwj~#r|E`=&ZTNu>3nz{{U*&f9JFx z_rzb}P2*(;%OBVDFi5j$7T5tetAFr;-2VW5KPLYG3ajDWX5+y6taq}foo{s*W>P>T zd;6*F+*N=0PWA8k`2PUM1!cEFS0Y~dvk)830Yb4qu@C(G!T$h#{{Z!?ptp-v)22@j zX&L^~m7Y6aAmwbtE@`t2)R0iyA-DfBg=&JTdSyh97!fQay;S z5+C(n_RRkPIopw)<`Z(U-rGIAWXJ-OV{8~7ljvgWO>e0?>&apE3uj*{KOui}=C3&XSMl#$UMtii{{WI@ZT|pa zasL3KMRxV*Lj&zP*mUsT(_N3Vdo3aZ3I+eb01F5JB>*Lpr!eM!*X8t~3EEe%=M?Ot z5|SKqP1;UAU#T$n~`tgc0#>3W}rCD(%IO$*i(*6RBo63d!YC(Y}{@n%#=}<5u z134Y3>_$myb~k-2!T5B?wSWK9{sPF2M$ot;JkqXOKQlc$Q)CRJE_!sw6odhfS~p|v HabN%0c>{xk delta 5666 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 Ix8+~|*)n$-g#Z8m From 2f4bba58d05d18189464fc6822cbe1cc1606dfaf Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Thu, 8 Dec 2022 11:35:00 -0600 Subject: [PATCH 5/9] change pro raw image --- .../example/ios/TestImages/proRawImage.dng | Bin 8297 -> 8100 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/image_picker/image_picker_ios/example/ios/TestImages/proRawImage.dng b/packages/image_picker/image_picker_ios/example/ios/TestImages/proRawImage.dng index b87b709a4c3ad358bbf07231f82e55a1d1996245..7c3de76c86e2794297025958629b06e693881c5b 100644 GIT binary patch delta 3470 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 From ecc0a8b0534c9094f64f32d711db5bce9c2361a0 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Tue, 13 Dec 2022 15:16:08 -0600 Subject: [PATCH 6/9] add error log --- .../ios/Classes/FLTPHPickerSaveImageToPathOperation.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m index acfd8187e04d..7cc50791aa55 100644 --- a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m +++ b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m @@ -6,6 +6,8 @@ #import "FLTPHPickerSaveImageToPathOperation.h" +#import + API_AVAILABLE(ios(14)) @interface FLTPHPickerSaveImageToPathOperation () @@ -96,9 +98,11 @@ - (void)start { loadDataRepresentationForTypeIdentifier:UTTypeImage.identifier completionHandler:^(NSData *_Nullable data, NSError *_Nullable error) { - if (error == nil && data != nil) { + if (data != nil) { UIImage *image = [[UIImage alloc] initWithData:data]; [self processImage:image]; + } else { + os_log_error(OS_LOG_DEFAULT, "Could not process image: %@", error); } }]; } From 0313fb8a71222c53227953a71a4c2a1b06b27466 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Tue, 13 Dec 2022 15:41:43 -0600 Subject: [PATCH 7/9] fix formatting --- .../ios/Classes/FLTPHPickerSaveImageToPathOperation.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m index 7cc50791aa55..16c205012785 100644 --- a/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m +++ b/packages/image_picker/image_picker_ios/ios/Classes/FLTPHPickerSaveImageToPathOperation.m @@ -102,7 +102,8 @@ - (void)start { UIImage *image = [[UIImage alloc] initWithData:data]; [self processImage:image]; } else { - os_log_error(OS_LOG_DEFAULT, "Could not process image: %@", error); + os_log_error(OS_LOG_DEFAULT, "Could not process image: %@", + error); } }]; } From 1e65814d406f56bf509bb035f8512616ed1ace70 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Wed, 14 Dec 2022 10:05:14 -0600 Subject: [PATCH 8/9] fix image identifiers in test --- .../PickerSaveImageToPathOperationTests.m | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m index 302e029fc776..6caf5457d264 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m @@ -30,7 +30,7 @@ - (void)testSavePNGImage API_AVAILABLE(ios(14)) { withExtension:@"png"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypePNG.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -40,7 +40,7 @@ - (void)testSaveJPGImage API_AVAILABLE(ios(14)) { withExtension:@"jpg"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeJPEG.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -50,7 +50,7 @@ - (void)testSaveGIFImage API_AVAILABLE(ios(14)) { withExtension:@"gif"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeGIF.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -60,7 +60,7 @@ - (void)testSaveBMPImage API_AVAILABLE(ios(14)) { withExtension:@"bmp"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeBMP.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -70,7 +70,7 @@ - (void)testSaveHEICImage API_AVAILABLE(ios(14)) { withExtension:@"heic"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeHEIC.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -80,7 +80,7 @@ - (void)testSaveICNSImage API_AVAILABLE(ios(14)) { withExtension:@"icns"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeICNS.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -90,7 +90,7 @@ - (void)testSaveICOImage API_AVAILABLE(ios(14)) { withExtension:@"ico"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeICO.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -100,7 +100,7 @@ - (void)testSaveProRAWImage API_AVAILABLE(ios(14)) { withExtension:@"dng"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeRAWImage.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -110,7 +110,7 @@ - (void)testSaveSVGImage API_AVAILABLE(ios(14)) { withExtension:@"svg"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeSVG.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -120,7 +120,7 @@ - (void)testSaveTIFFImage API_AVAILABLE(ios(14)) { withExtension:@"tiff"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypeTIFF.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -132,7 +132,7 @@ - (void)testSavePNGImageWithoutFullMetadata API_AVAILABLE(ios(14)) { withExtension:@"png"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + withIdentifier:UTTypePNG.identifier]; [self verifySavingImageWithPickerResult:result fullMetadata:NO]; OCMVerify(times(0), [photoAssetUtil fetchAssetsWithLocalIdentifiers:[OCMArg any] From 3636c7dd9825cd0de0883dece6176dfdacdfacdb Mon Sep 17 00:00:00 2001 From: Victoria Ashworth Date: Wed, 14 Dec 2022 13:44:10 -0600 Subject: [PATCH 9/9] get image type identifier from itemProvider in test --- .../PickerSaveImageToPathOperationTests.m | 41 +++++++------------ 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m index 6caf5457d264..5594b9d4dc28 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PickerSaveImageToPathOperationTests.m @@ -19,8 +19,7 @@ - (void)testSaveWebPImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"webpImage" withExtension:@"webp"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeWebP.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -29,8 +28,7 @@ - (void)testSavePNGImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"pngImage" withExtension:@"png"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypePNG.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -39,8 +37,7 @@ - (void)testSaveJPGImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"jpgImage" withExtension:@"jpg"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeJPEG.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -49,8 +46,7 @@ - (void)testSaveGIFImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"gifImage" withExtension:@"gif"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeGIF.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -59,8 +55,7 @@ - (void)testSaveBMPImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"bmpImage" withExtension:@"bmp"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeBMP.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -69,8 +64,7 @@ - (void)testSaveHEICImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"heicImage" withExtension:@"heic"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeHEIC.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -79,8 +73,7 @@ - (void)testSaveICNSImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"icnsImage" withExtension:@"icns"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeICNS.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -89,8 +82,7 @@ - (void)testSaveICOImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"icoImage" withExtension:@"ico"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeICO.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -99,8 +91,7 @@ - (void)testSaveProRAWImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"proRawImage" withExtension:@"dng"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeRAWImage.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -109,8 +100,7 @@ - (void)testSaveSVGImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"svgImage" withExtension:@"svg"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeSVG.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -119,9 +109,7 @@ - (void)testSaveTIFFImage API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"tiffImage" withExtension:@"tiff"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypeTIFF.identifier]; - + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:YES]; } @@ -131,8 +119,7 @@ - (void)testSavePNGImageWithoutFullMetadata API_AVAILABLE(ios(14)) { NSURL *imageURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"pngImage" withExtension:@"png"]; NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithContentsOfURL:imageURL]; - PHPickerResult *result = [self createPickerResultWithProvider:itemProvider - withIdentifier:UTTypePNG.identifier]; + PHPickerResult *result = [self createPickerResultWithProvider:itemProvider]; [self verifySavingImageWithPickerResult:result fullMetadata:NO]; OCMVerify(times(0), [photoAssetUtil fetchAssetsWithLocalIdentifiers:[OCMArg any] @@ -146,11 +133,11 @@ - (void)testSavePNGImageWithoutFullMetadata API_AVAILABLE(ios(14)) { * @param identifier local identifier of the asset */ - (PHPickerResult *)createPickerResultWithProvider:(NSItemProvider *)itemProvider - withIdentifier:(NSString *)identifier API_AVAILABLE(ios(14)) { + API_AVAILABLE(ios(14)) { PHPickerResult *result = OCMClassMock([PHPickerResult class]); OCMStub([result itemProvider]).andReturn(itemProvider); - OCMStub([result assetIdentifier]).andReturn(identifier); + OCMStub([result assetIdentifier]).andReturn(itemProvider.registeredTypeIdentifiers.firstObject); return result; }