Make ImagePickerIOS.openCameraDialog work with video (fixes #17989) (#19170)

Summary:
Fixes #17989

Previously, `ImagePickerIOS.openCameraDialog` would not render a `Video` option when the camera screen opened. If you passed `ImagePickerIOS.openCameraDialog({ videoMode: true }, ...)` the app would crash with an error complaining about the proper mediaType(s) not being set (see issue: #17989  for full details).

This is a 2 line change that sets the mediaTypes properly, so now users can capture videos in addition to photos.
Pull Request resolved: https://github.com/facebook/react-native/pull/19170

Differential Revision: D14068078

Pulled By: hramos

fbshipit-source-id: d04a3d267ca83ea58e88c880a85ac34ddd4744c8
This commit is contained in:
Josh Carver
2019-02-13 12:46:49 -08:00
committed by Facebook Github Bot
parent 937c79e2f2
commit 4c400a10c2

View File

@@ -85,6 +85,8 @@ RCT_EXPORT_METHOD(openCameraDialog:(NSDictionary *)config
RCTImagePickerController *imagePicker = [RCTImagePickerController new];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
NSArray<NSString *> *availableMediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
imagePicker.mediaTypes = availableMediaTypes;
imagePicker.unmirrorFrontFacingCamera = [RCTConvert BOOL:config[@"unmirrorFrontFacingCamera"]];
if ([RCTConvert BOOL:config[@"videoMode"]]) {