Skip to content

Commit dd11244

Browse files
authored
Merge pull request #49 from tapwork/master
Fix leading zero added to UPC-A codes
2 parents 14cc184 + 1f98d84 commit dd11244

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

Sources/BarcodeScannerController.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,13 +419,18 @@ extension BarcodeScannerController: AVCaptureMetadataOutputObjectsDelegate {
419419

420420
guard
421421
let metadataObj = metadataObjects[0] as? AVMetadataMachineReadableCodeObject,
422-
let code = metadataObj.stringValue,
422+
var code = metadataObj.stringValue,
423423
metadata.contains(metadataObj.type)
424424
else { return }
425425

426426
if isOneTimeSearch {
427427
locked = true
428428
}
429+
// See: https://stackoverflow.com/questions/22767584/ios7-barcode-scanner-api-adds-a-zero-to-upca-barcode-format
430+
if metadataObj.type == AVMetadataObjectTypeEAN13Code && code.hasPrefix("0"){
431+
let index = code.index(code.startIndex, offsetBy: 1)
432+
code = code.substring(from: index)
433+
}
429434

430435
animateFlash(whenProcessing: isOneTimeSearch)
431436
codeDelegate?.barcodeScanner(self, didCaptureCode: code, type: metadataObj.type)

0 commit comments

Comments
 (0)