I\'ve been implementing a test of the new Vision framework which Apple introduced in WWDC2017. I am specifically looking at the barcode detection - I\'ve been able to get af
If you want to get the raw Data from the VNBarcodeObservation directly without it having to conform to some string encoding you can strip of the first 2 and 1/2 bytes like this, and get actual data without the QR code header.
guard let barcode = barcodeObservation.barcodeDescriptor as? CIQRCodeDescriptor else { return }
let errorCorrectedPayload = barcode.errorCorrectedPayload
let payloadData = Data(bytes: zip(errorCorrectedPayload.advanced(by: 2),
errorCorrectedPayload.advanced(by: 3)).map { (byte1, byte2) in
return byte1 << 4 | byte2 >> 4
})