drallgood / jpasskit

jPasskit is an Java™ implementation of the Apple™ PassKit Web Service.
Apache License 2.0
275 stars 109 forks source link

another iOS9 feature - multiple barcodes #52

Closed woolfel closed 9 years ago

woolfel commented 9 years ago

It looks like for iOS9, barcode is changing to allow multiple barcodes. Here is the relevant specification from apple's developer website. I am working on implementing this.

On iOS 9 and later, the system prefers the contents from the barcodes key. It only uses the barcode key when the barcodes key is missing. If neither the barcode nor the barcodes keys are present, then the system does not display a barcode.

Furthermore, the barcodes array lets you specify fallbacks for your barcode. The system uses the first valid barcode dictionary in the array. Note that the PKBarcodeFormatQR, PKBarcodeFormatPDF417, PKBarcodeFormatAztec, and PKBarcodeFormatCode128 formats are all valid on iOS 9 and later; therefore, they do not need fallbacks.

To support older versions of iOS, use both the barcode and barcodes keys. The system automatically selects the barcodes array for iOS 9.0 and later, and uses the barcode dictionary for iOS 8.0 and earlier.

drallgood commented 9 years ago

This is already implemented. Seems to be working right now

woolfel commented 9 years ago

great, I didn't see the update. will pull and try it.

drallgood commented 9 years ago

One thing that doesn't work yet are the 1D barcodes on the apple watch (works on the iPhone, though). Not sure whether this is a bug on our end or on Apple's