The Barcode Xpress Mobile for iOS Software Development Kit provides Objective-C and Swift interfaces to Accusoft's Barcode Xpress recognition library. Barcode Xpress is a thread-safe image processing library that will efficiently find and decode a large number of types of barcodes. For a list of barcodes that can be read, see Supported Barcode Types.
The following items are included in the SDK.
Native Recognition Library
- BarcodeXpress12.a - static archive format of the recognition library.
- The native recognition library detects and decodes barcodes in an image.
- The library is built to support all architectures of the iOS and the simulator. For a full list of supported architectures, see the Getting Started page.
- The API can be accessed directly through the functions provided in BXiOSAPI.h.
BarcodeXpressIOS
- Provides the core functionality for programs that want to perform barcode recognition on video images.
- Provides many properties and methods that can be configured to act as the base for applications to build upon.
- Provides BXInterface class which does the following:
- Manages and configures the camera hardware.
- Manages and configures a thread pool used to process images.
- Samples the video camera frame buffer for new images.
- Asynchronously sends images to native recognition library to be decoded.
- Communicates through callbacks on the status and results of recognition.
BarcodeXpressSwift
- Provides the same functionality as BarcodeXpressIOS, but written using the Swift programming language with a modified API for writing idiomatic Swift programs that recognize barcodes using the native library.
- Provides a Runtime class which does the following:
- Manages and configures the camera hardware.
- Uses Grand Central Dispatch to process images in the system thread pools.
- Samples the video camera frame buffer for new images.
- Asynchronously sends images to the native recognition library to be decoded.
- Communicates the status and results of recognition through optional callbacks.
BXDemo
- A sample application built upon BXInterface.
- It provides a simple user interface that shows a viewfinder with a laser line that encourages the user to center the barcode at a distance in which the camera can focus.
- The source code is provided for BXDemo, allowing it to be used as the basis for your own application and as an example of how to use BXInterface.
- The following callbacks provide a way for the user interface to control program execution and interact with the barcode library:
- onProcessingBarcode() - animates the word processing each time a decoding thread begins processing an image.
- onBarcodeRecognition() - displays several previously hidden views that displays the results of a barcode that is detected in an image.
- onCameraUpdate() - shows how to manipulate the image that is gathered from the camera before it is displayed. If the code is un-commented, it will threshold (binarize) and display each sampled image frame - showing a black & white version of it.
BXSwiftDemo
- A sample application built on the Runtime class from BarcodeXpressSwift.
- Provides a simple user interface for capturing barcodes from a the camera in real time.
- As with BXDemo the source code is provided, allowing it to be used as an example or as the basis for your own application.
- Provides Swift versions of the same callbacks used in BXDemo:
- processingCallback
- recognitionCallback
- cameraCallback