Ошибка AVCapturePhotoCaptureDelegate при захвате изображения

Я, кажется, случайно получаю это сообщение об ошибке после нескольких циклов захвата:

Ошибка при завершении фото: Error Domain=AVFoundationErrorDomain Code=-11800 "Операция не может быть завершена" UserInfo={NSLocalizedFailureReason= Произошла неизвестная ошибка (-16802), NSLocalizedDescription= Операция не может быть завершена, NSUnderlyingError=0x281f20f30 {Error Domain=NSOSStatusErrorDomain Code=-16802 "(null)"}}

Ошибка возникает в:

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {}

Заметки:

  • Эта ошибка никогда не появляется при первом захвате.
  • Формат изображения также является обработанным форматом: HEIF
  • iOS 13

1 ответ

Была такая же проблема, виновата была стабилизация. Я устанавливал settings.isAutoStillImageStabilizationEnabled = true при захвате изображения. Стабилизация - это сложный процесс, который в основном потоке препятствует распределению буфера. Переместил его туда, где инициализировалась камера, решил проблему для меня.

Другие вопросы по тегам