Ios UIImagePickerController在从摄像机切换到视频时崩溃
切换到视频捕获模式后,我在使用iOS 13(real device)的iPhone上的UIImagePickerController发生故障。崩溃在第二次演示Ios UIImagePickerController在从摄像机切换到视频时崩溃,ios,objective-c,uiimagepickercontroller,ios13,Ios,Objective C,Uiimagepickercontroller,Ios13,切换到视频捕获模式后,我在使用iOS 13(real device)的iPhone上的UIImagePickerController发生故障。崩溃在第二次演示UIImagePickerControlr时再现。崩溃不会在iOS 13之前的版本(真实设备)上重现。摄像头和麦克风使用说明码在使用Xcode 11.0构建的Info.plist测试应用程序中设置 步骤: 显示UIImagePickerController 关闭UIImagePickerController 显示UIImagePickerC
UIImagePickerControl
r时再现。崩溃不会在iOS 13之前的版本(真实设备)上重现。摄像头和麦克风使用说明码在使用Xcode 11.0构建的Info.plist测试应用程序中设置
步骤:
UIImagePickerController
UIImagePickerController
UIImagePickerController
videoQuality=UIImagePickerControllerQualityTypeHigh
,则不会再现崩溃。但是我需要UIImagePickerController质量类型介质
@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
@interface ViewController()
@结束
@实现视图控制器
#pragma标记-IBActions
-(iAction)显示选择器:(UIButton*)发送器{
UIImagePickerController*pickerController=[UIImagePickerController新建];
pickerController.sourceType=UIImagePickerController源类型摄像头;
pickerController.mediaTypes=[UIImagePickerController可用于源类型的媒体类型:UIImagePickerController源类型Camera];
//pickerController.videoQuality=UIImagePickerController质量类型高;
pickerController.delegate=self;
[self-presentViewController:pickerController动画:是完成:空];
}
#pragma标记-UIImagePickerControllerDelegate
-(void)imagePickerController:(UIImagePickerController*)picker未使用信息完成PickingMediaWithInfo:(NSDictionary*)信息{
[self-dismissViewControllerAnimated:是完成:空];
}
-(无效)ImagePickerController IDCancel:(UIImagePickerController*)选择器{
[self-dismissViewControllerAnimated:是完成:空];
}
@结束
“NSInvalidArgumentException”,原因:“***-[AVCaptureDevice”
setActiveColorSpace:]不受支持-请使用
activeFormat.supportedColorSpaces'
在pickercontroller中设置视频质量
[pickerController setVideoQuality:UIImagePickerControllerQualityTypeIFrame1280x720];
您使用的是哪种型号的iPhone?我刚刚在iPhone XS Max上试用了你的代码,它运行良好,即使视频质量为Medium.11 pro。只发生在我第二次打开我帮助的采摘室时。