AVFoundation unable to recognize GS1-128 Codes

Number:rdar://22048146 Date Originated:29 july 2015
Status:Open Resolved:
Product:iOS Product Version:iOS 9.0 (13A4305g)
Classification:Serious Bug Reproducible:Always
More and more manufacturers of groceries switch from GTIN (aka UPC) to GS1-128 because next to the product code they can include a best-before date. AVFoundation's metadata object detector has a serious issue with these Code128 barcodes as it does not recognize them. At least not in the range of quality that can be found on product packages.

Steps to Reproduce:
1. Print out the provided barcode
2. Try to scan it with a AVCaptureMetadataOutput set up to detect AVMetadataObjectTypeCode128Code

Expected Results:
- The metadata object should be delivered
- It's content's should be (01)09002233023062(15)150720

In this case 01 is the product GTIN

Actual Results:
- No metadata object is delivered to the delegate
- ... regardless of how you rotate the device around
- the crummy zBar app (free on app store) is able to detect it and opens a google search for 9002233023062

iOS 9.0 (13A4305g)

This is a severe problem because this weakness still exists in iOS 9 making the iPhone effectively unusable for scanning GS1-128 barcodes which are getting more and more prevalent in Europe.

iPhone 6


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!