From 8208ee5050bf1cfa8231617669c2019bfabc0695 Mon Sep 17 00:00:00 2001 From: Victoria Sun Date: Wed, 10 Jul 2019 00:50:19 -0700 Subject: [PATCH 1/2] patch ImagePickerIOS to also give a width and height if it detects movies --- Libraries/CameraRoll/RCTImagePickerManager.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Libraries/CameraRoll/RCTImagePickerManager.m b/Libraries/CameraRoll/RCTImagePickerManager.m index d1b6d486bb95b0..4a164d52f4d690 100644 --- a/Libraries/CameraRoll/RCTImagePickerManager.m +++ b/Libraries/CameraRoll/RCTImagePickerManager.m @@ -17,6 +17,8 @@ #import #import +@import Photos; + @interface RCTImagePickerController : UIImagePickerController @property (nonatomic, assign) BOOL unmirrorFrontFacingCamera; @@ -146,6 +148,16 @@ - (void)imagePickerController:(UIImagePickerController *)picker height = @(image.size.height); width = @(image.size.width); } + + if (isMovie) { + PHFetchResult *assets = [PHAsset fetchAssetsWithALAssetURLs:@[[info valueForKey:UIImagePickerControllerReferenceURL]] options:nil]; + if (assets.count > 0) { + PHAsset *videoAsset = assets.firstObject; + width = @(videoAsset.pixelWidth); + height = @(videoAsset.pixelHeight); + } + } + if (imageURL) { [self _dismissPicker:picker args:@[imageURL.absoluteString, RCTNullIfNil(height), RCTNullIfNil(width)]]; return; From cc8e2e3bd95ee3d607f63f3742d79ea6fcb911c3 Mon Sep 17 00:00:00 2001 From: Victoria Sun Date: Wed, 10 Jul 2019 16:12:37 -0700 Subject: [PATCH 2/2] clean up --- Libraries/CameraRoll/RCTImagePickerManager.m | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Libraries/CameraRoll/RCTImagePickerManager.m b/Libraries/CameraRoll/RCTImagePickerManager.m index 4a164d52f4d690..59110dd1c27eaa 100644 --- a/Libraries/CameraRoll/RCTImagePickerManager.m +++ b/Libraries/CameraRoll/RCTImagePickerManager.m @@ -147,14 +147,12 @@ - (void)imagePickerController:(UIImagePickerController *)picker if (image) { height = @(image.size.height); width = @(image.size.width); - } - - if (isMovie) { + } else if (isMovie) { PHFetchResult *assets = [PHAsset fetchAssetsWithALAssetURLs:@[[info valueForKey:UIImagePickerControllerReferenceURL]] options:nil]; if (assets.count > 0) { PHAsset *videoAsset = assets.firstObject; - width = @(videoAsset.pixelWidth); height = @(videoAsset.pixelHeight); + width = @(videoAsset.pixelWidth); } }