Ошибка 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 при захвате изображения. Стабилизация - это сложный процесс, который в основном потоке препятствует распределению буфера. Переместил его туда, где инициализировалась камера, решил проблему для меня.