diff --git a/Libraries/CameraRoll/RCTImagePickerManager.m b/Libraries/CameraRoll/RCTImagePickerManager.m index 0ad9e8e71..d82d0e9bf 100644 --- a/Libraries/CameraRoll/RCTImagePickerManager.m +++ b/Libraries/CameraRoll/RCTImagePickerManager.m @@ -132,7 +132,8 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info - (void)_dismissPicker:(UIImagePickerController *)picker args:(NSArray *)args { NSUInteger index = [_pickers indexOfObject:picker]; - RCTResponseSenderBlock callback = _pickerCancelCallbacks[index]; + RCTResponseSenderBlock successCallback = _pickerCallbacks[index]; + RCTResponseSenderBlock cancelCallback = _pickerCancelCallbacks[index]; [_pickers removeObjectAtIndex:index]; [_pickerCallbacks removeObjectAtIndex:index]; @@ -141,7 +142,11 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info UIViewController *rootViewController = RCTKeyWindow().rootViewController; [rootViewController dismissViewControllerAnimated:YES completion:nil]; - callback(args ?: @[]); + if (args) { + successCallback(args); + } else { + cancelCallback(@[]); + } } @end