Недавно я был включен в существующий проект на работе, который написан на 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, и оно печатается там только один раз.