#uiimagepickercontroller #video-capture #ios14 #xcode12
#uiimagepickercontroller #захват видео #ios14 #xcode12
Вопрос:
В моем приложении я написал код для записи видео с использованием UIImagePickerController. Он абсолютно нормально работает со всеми другими устройствами, только у одного из моих клиентов возникла проблема с iPhone 8 под управлением iOS 14.2: во время записи видео отображается черный экран, и на правой нижней кнопке не работает прокрутка для передней или задней камеры.
Вот мой код и изображение:
UIImagePickerController *evidencePicker = [[UIImagePickerController alloc] init];
evidencePicker.delegate = self;
evidencePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
evidencePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
evidencePicker.videoMaximumDuration = 10.0;
evidencePicker.allowsEditing = YES;
evidencePicker.videoQuality = UIImagePickerControllerQualityTypeLow;
[self.navigationController presentViewController:evidencePicker animated:YES completion:nil];
Разрешение камеры также предоставляется.
Итак, я делаю что-то не так, чтобы представить UIImagePickerController? Или что-то еще нужно проверить?
Ответ №1:
Перед представлением UIImagePickerController проверьте наличие камеры. Что-то вроде этого:
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
Комментарии:
1. может ли пользователь снимать видео вне вашего приложения? У нас было одно устройство iPhone 7, у которого возникла проблема с собственным приложением камеры.
2. Встроенная камера работает нормально. Проблема связана с моим приложением и только для устройства iPhone 8.
Ответ №2:
Я также столкнулся с этой проблемой, мое устройство 14.3. У моего коллеги 14.6, тот же код 14.6 является нормальным. Я проверил, что это UIImagePickerControllerSourceTypeCamera проблема с этим значением перечисления, если вы измените его на значение по умолчанию, сможете записывать видео нормально