Почему AVCaptureSession.stopRunning не останавливается? - PullRequest
1 голос
/ 18 октября 2019

Недавно я был включен в существующий проект на работе, который написан на Swift.

Функция делегата metadataOutput(_:didOutput:from:) выглядит следующим образом:

func metadataOutput(_ output: AVCaptureMetadataOutput,
                    didOutput metadataObjects: [AVMetadataObject],
                    from connection: AVCaptureConnection) {
        captureSession.stopRunning()

        if let metadataObject = metadataObjects.first,
            let readableObject = metadataObject as? AVMetadataMachineReadableCodeObject {
            print("\(readableObject.stringValue)")
        }

        ... // other code
}

Теоретически, print функция должна печататься только один раз;однако в консоли я вижу, что выходные данные печатаются несколько раз.

Есть ли что-то, чего мне здесь не хватает? Я создал автономное приложение для сканирования barebones, и оно печатается там только один раз.

...