Our DNA is written in Swift

BarCodeKit 1.3.0

The previous release to BarCodeKit was almost exactly one year ago, when I was just about getting started with writing my book.


  • FIXED: Assertion failure when draing barcodes into graphics context with translated CTM
  • ADDED: Error messages on barcode generation localized in English, Japanese and German
  • ADDED: BCKCodeDrawingReduceBleedOption for reducing bleed on thermo printers
  • ADDED: POSTNET Implementation
  • ADDED: ISMN Implementation
  • ADDED: Added additional range and length checks to ISBN and ISMN
  • ADDED: Internal support for barcodes with partial bars
  • ADDED: BCKCodeDrawingCaptionFontPointSizeOption for specifying caption font size
  • ADDED: Share button to Demo which exports a PDF of any configured barcode via activity view
  • CHANGED: Internal implemention from NSString to BCKBarString
  • CHANGED: Migrated unit tests to XCTest

The reason for the long time since the last release was that I wanted to use the component in a practical application. Chapter 5 in my book demonstrates how to print a single 1D barcode over AirPrint to a label printer. This was also the reason for adding the option to reducing thermal bleed. So over the last year the component was honed, refactored, saw the GM of Xcode 5 and Xcode 6 and was polished on multiple levels.

Special thanks go to Geoff Breemer who contributed all the new barcode implementations. BarCodeKit now supports the following (blue ones scannable by iOS).

  • Codabar
  • Code 11
  • Code 39 (plain, modulo 43, full ASCII)
  • Code 93
  • Code 128
  • Facing Identification Mark (FIM)
  • GTIN family: EAN-8, EAN-13, UPC-A, UPC-E, EAN-2, EAN-5
  • ISBN10 and ISBN13
  • ISMN
  • ISSN
  • MSI (Modified Plessey)
  • Pharmacode One Track
  • Standard/Industrial 2 of 5

Thanks also go to Brendan Duddridge who made the barcode generation error messages localisable as well as contributed a Japanese strings file. I myself did a German language translation. Brendan’s famous database app Tap Forms leverages BarCodeKit in its new label printing engine:

Tap Forms for Mac version 3.0 will feature a brand new label printing engine which takes advantage of the excellent BarCodeKit framework to provide support for up to 24 different barcode symbologies.

Here’s what’s new:

• OS X 10.10 Yosemite compatibility
• All new look and feel.
• Live form template editing.
• New Label printing engine which includes more then 1000 Avery® label templates.
• Customize your own labels.
• Print 24 different types of barcodes including ISBN, UPC, Code 39, QR code, EAN, and more!
• More advanced calculation field type with support for returning a Number, Text, or Date value.
• Zoom in or out on custom layouts.
• Customizable toolbar.
• Import and export Excel Workbook XLSX files.

Tap Forms for Mac is expected to be released shortly after the release of OS X 10.10 Yosemite.

The update is tagged on the private repo (for purchasers of repo access), will be available to owners of my book for free and is also available via our private Cocoapods repo.

Tagged as:

Categories: Updates

Leave a Comment