I have a crash with UIImagePickerController on iPhone XR(iOS 12.4.1) real device after switching to video capture mode. Crash reproduces on the second presentation of UIImagePickerController. Crash does not reproduce on iPhone 6(iOS 12.4.1) real device. Camera and Microphone usage description keys are set in Info.plist Test app built with Xcode 10.3
Steps:
- Present UIImagePickerController
- Dismiss UIImagePickerController
- Present UIImagePickerController
- Tap VIDEO button - > Crash
Crash does not reproduce if I set videoQuality = UIImagePickerControllerQualityTypeHigh
. But I need UIImagePickerControllerQualityTypeMedium
.
@interface ViewController () < UINavigationControllerDelegate, UIImagePickerControllerDelegate>
@end
@implementation ViewController
#pragma mark - IBActions
- (IBAction)showPicker:(UIButton *)sender {
UIImagePickerController *pickerController = [UIImagePickerController new];
pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
pickerController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
// pickerController.videoQuality = UIImagePickerControllerQualityTypeHigh;
pickerController.delegate = self;
[self presentViewController:pickerController animated:YES completion:NULL];
}
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey, id> *)info {
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissViewControllerAnimated:YES completion:NULL];
}
@end
'NSInvalidArgumentException', reason: '*** -[AVCaptureDevice setActiveColorSpace:] Not supported - use activeFormat.supportedColorSpaces'