cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] alpesh12 commented on a change in pull request #310: CB-13415 (iOS) Importing corrupt images using the Camera plugin crashes the app
Date Thu, 01 Jan 1970 00:00:00 GMT
alpesh12 commented on a change in pull request #310: CB-13415 (iOS) Importing corrupt images
using the Camera plugin crashes the app
URL: https://github.com/apache/cordova-plugin-camera/pull/310#discussion_r164084053
 
 

 ##########
 File path: src/ios/CDVCamera.m
 ##########
 @@ -360,7 +361,22 @@ - (NSData*)processImage:(UIImage*)image info:(NSDictionary*)info options:(CDVPic
         {
             if ((options.allowsEditing == NO) && (options.targetSize.width <=
0) && (options.targetSize.height <= 0) && (options.correctOrientation ==
NO) && (([options.quality integerValue] == 100) || (options.sourceType != UIImagePickerControllerSourceTypeCamera))){
                 // use image unedited as requested , don't resize
-                data = UIImageJPEGRepresentation(image, 1.0);
+                  if(options.sourceType != UIImagePickerControllerSourceTypeCamera){
+                    NSURL *url = info[UIImagePickerControllerReferenceURL];
+                    PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil];
+                    PHAsset *asset = [result firstObject];
+                    if (asset) {
+                        PHImageManager *manager = [PHImageManager defaultManager];
+                        PHImageRequestOptions *option = [PHImageRequestOptions alloc];
+                        option.synchronous = true;
+                        [manager requestImageDataForAsset:asset options:option resultHandler:^(NSData
*imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
+                              data = imageData;
 
 Review comment:
   @shazron 
   Its default functionality from `PHFetchResult` lib to return data from block to function,
so it must be synchronous operation.
   Let me know if you have other reference or solution to solved this bug.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


Mime
View raw message