Web Demos

BARCODE READER SDK DEMO

Explore the flexibe barcode reading settings to optimize for your specific usage scenario.

WEB TWAIN SDK DEMO

Try the most popular web scanner features: scan images, import local images and PDF files, edit, save to local, upload to database, and etc.

BARCODE READER JAVASCRIPT DEMO

Transform any camera-equipped devices into real-time, browser-based barcode and QR code scanners.

MRZ SCANNER WEB DEMO

Detects the machine-readable zone of a passport, scans the text, and parses into human-readable data.

APP STORE DEMOS

BARCODE READER SDK FOR IOS

BARCODE READER SDK FOR ANDROID

VIEW MORE DEMOS >
Dev Center
Table of contents

Thanks for downloading Dynamsoft Barcode Reader Package!

Your download will start shortly. If your download does not begin, click here to retry.

Release Notes for iOS SDK - 9.x

9.6.10 (01/10/2023)

Fixed

  • Fixed a bug that some OneD barcodes without start & stop characters are not decoded when parameter RequireStartStopChars is set to 0.
  • Fixed a crash bug by adding protection in algorithm.

Improved

  • Improved the performance of Direct Part Marking (DPM) barcode decoding.
  • Improved the performance of GS1 Databar barcode decoding.

9.6.0 (12/13/2022)

Version Highlights

  • Image orientation handling is supported by a new feature. With the new feature, you can:
    • Get a TranformationMatrix along with the barcode location result.
    • Implement coordinates transformation on the barcode location result with the TransformationMatrix.
  • DotCode decoding is improved by optimizing the localization of DotCodes that are close to one another.

auto-zoom

  • EAN8 barcode decoding is improved by honing the accuracy of localization algorithms.
  • QR code localizing is improved by reducing the mis-assemble rate of the finder patterns when using the localization mode LM_CONNECTED_BLOCK or LM_SCAN_DIRECTLY, which are designed for speed. The mis-assembling only occurs when there exist dense QR codes on the same image.
  • Mirrored rectangular DataMatrix barcode is supported by implementing MirrorMode when localizing the barcodes.

auto-zoom

  • Deformed barcode decoding is improved by extending the supported modes and mode arguments of DeformationResistingModes.

Changelog

New

  • Added a new method setLogConfig so that users can set whether to save the log to a file and where the log file will be saved. Enumeration EnumLogMode is added so that users can set whether to save the log information.
  • Enabled decoding methods decodeFileWithName, decodeFileinMemory and decodeBase64 to read EXIF data of the given image so that the library can obtain the orientation information when processing image file.
  • Enabled decoding method decodeImage to read orientation information from UIImage.
  • Override method decodeBuffer. You can input an iImageData object as the barcode decoding parameter. The library can obtain the orientation information from the iImageData object.
  • Added a new property transformationMatrix to class iLocalizationResult so that the library can output a transformation matrix for users to transform the coordinates of the barcode result.
  • Added a new property duplicateForgetTime to filter out all duplicate barcode results for a period of time when processing video streaming.
  • Added new properties hasLeftRowIndicator and hasRightRowIndicator to class iPDF417Details to return whether the left or right row indicator of the PDF417 barcode is detected.
  • Added a new member BF2_ALL to enumeration BarcodeFormatIds_2.
  • Extended the features of DeformationResistingModes:
    • Extended the valid mode arguments of DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE with two new arguments: GrayscaleEnhancementMode and BinarizationMode.
    • Support mode DRM_AUTO.

Improved

  • Improved the accuracy when processing multiple QR codes.
  • Improved the processing speed by excluding incorrectly located barcode zones before decoding.
  • Improved the creation, destruction, and acquisition logic of concurrent instances.
  • Improved the scan count of duplicate barcodes when the Charge Way is per scan.
  • Improved the accuracy of EAN8 localization result(s).
  • Improved the localization of mirrored DataMatrix barcode by implementing MirrorMode.

Changed

  • Method toUIImage in class iImageData will rotate the image physically according the orientation property.

Fixed

  • Fixed a bug that DotCodes might not be decoded when they are densely arranged.
  • Fixed a crash bug when trying to output a template which includes customized value for parameterd BarcodeTextRegEexPattern.

Removed

  • Removed dispose from class BarcodeReader.

9.4.0 (11/04/2022)

Version Highlights

  • DotCode decoding has been improved by optimizing the localization and decoding algorithm.
  • Stacked, skewed or perspective distorted OneD barcode decoding has been improved.

Changelog

New

  • Added an argument IsOneDStacked to LM_SCAN_DIRECTLY to process stacked OneD barcodes.
  • Added a parameter PatchCodeSearchingMargins to specify the searching area of PatchCode.
  • Added the supported data format of FormatSpecification.PartitionModes to enhance the readability of the parameters. Users can use a list of enumeration names to specify the PartitionModes.

Improved

  • Improved the localization mode LM_LINES to better support skewed and perspective OneD barcodes.
  • Enhanced tamper resistance of the license keys so that any change to the license string makes it invalid.

Fixed

  • Fixed a memory leak issue by upgrading SDK compile tool from Xcode 9 to Xcode 13.

Deprecated

9.2.13 (09/05/2022)

  • Fixed a bug that NSError might not be returned when errors occured in the decode methods.

9.2.12 (08/02/2022)

  • Made a minor change to iRegionDefinition class to ensure the library can be used together with DynamsoftCameraEnhancer in Xamarin.Forms.

9.2.11 (07/11/2022)

Fixed

  • Fixed a bug that could cause App Store rejection when Build Options - Enable BitCode is set to Yes for an app.

9.2.10 (06/28/2022)

Version Highlights

  • Barcode boundary-seeking algorithm is refactored to improve stability.
  • Pharmacode decoding is optimized to improve accuracy.
  • The function of device-alias is added to allow users to give each device a readable name. For end-users and administrators, this makes it more friendly to distinguish between devices about license usage statistics.

Changelog

New

9.0.2 (05/26/2022)

New

  • Added the following property/Method to iImageData class:
    • toUIImage: The method that can convert the iImageData to an UIImage.
    • orientation: The property that indicates the orientation of the image.

Changed

  • Changed getVersion from a dynamic method to a static method. The format of the return value is changed as well.

Fixed

  • Fixed a bug that might cause memory leak.

9.0.1 (04/20/2022)

Fixed

  • Fixed a bug that might offset the position of highlight overlays on the decoded barcodes when used together with DynamsoftCameraEnhancer.

9.0.0 (03/22/2022)

Highlights

  • Simplified the license activation steps. Different license activation APIs are integrated into initLicense method.
  • Added support for Pharmacode.
  • Added support for Code 11, a 1D format.
  • Deformation resisting modes DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE are optimized and detached from DRM_GENERAL. Users can specify a more effective deformation resisting mode when processing QRCode and DataMatrix codes.
  • Optimized the confidence scoring system for PDF417 codes.

Changelog

New

  • Added EnumBarcodeFormatCODE11 under enumeration EnumBarcodeFormat to specify newly supported barcode format, Code 11. The enumeration value of EnumBarcodeFormatONED and EnumBarcodeFormatALL are updated as well.
  • Added EnumBarcodeFormat2PHARMACODEONETRACK, EnumBarcodeFormat2PHARMACODETWOTRACK and EnumBarcodeFormat2PHARMACODE under enumeration EnumBarcodeFormat_2 to specify newly supported barcode format, Pharmacode.
  • Added a new error code DBRERR_PHARMACODE_LICENSE_INVALID which will be returned when the license of Pharmacode is invalid.
  • Added EnumDeformationResistingModeBroadWarp, EnumDeformationResistingModeLocalReference and EnumDeformationResistingModeDewrinkle under enumeration EnumDeformationResistingMode to apply new deformation resisting modes.
  • Added a parameter FormatSpecification.VerifyCheckDigit.
  • Added new argument ConfidenceThreshold to the LocalizationModes mode arguments.
  • Added static method DynamsoftBarcodeReader.initLicense to replace legacy license activation APIs.
  • Added protocol DBRLicenseVerificationListener to get license verification callback when using DynamsoftBarcodeReader.initLicense.
  • Added protocol DBRTextResultListener.
  • Added protocol DBRIntermediateResultListener.
  • Added the following image decoding methods. The parameter templateName is not required in the new methods.
    • DynamsoftBarcodeReader.decodeBuffer
    • DynamsoftBarcodeReader.decodeImage
    • DynamsoftBarcodeReader.decodeFileWithName
    • DynamsoftBarcodeReader.decodeBase64
    • DynamsoftBarcodeReader.decodeIntermediateResult

Fixed

  • Fixed a bug that might cause a crash when using multiple threads for barcode decoding.

Deprecated

  • The following license activation APIs are deprecated:
    • Interface iDMDLSConnectionParameters
    • Protocol DBRServerLicenseVerificationDelegate
    • Protocol DMDLSLicenseVerificationDelegate
    • Enumeration EnumDMChargeWay
    • Enumeration EnumDMLicenseModule
    • Enumeration EnumDMUUIDGenerationMethod
    • Enumeration EnumProduct
    • Method DynamsoftBarcodeReader.initLicenseFromServer
    • Method DynamsoftBarcodeReader.initLicenseFromDLS
    • Method DynamsoftBarcodeReader.outputLicenseToString
  • The image decoding methods with parameter templateName are deprecated
    • DynamsoftBarcodeReader.decodeIntermediateResult
    • DynamsoftBarcodeReader.decodeImage
    • DynamsoftBarcodeReader.decodeFileWithName
    • DynamsoftBarcodeReader.decodeBase64
    • DynamsoftBarcodeReader.decodeBuffer
  • DBRTextResultDelegate is deprecated.
  • DBRIntermediateResultListener is deprecated.

Breaking Changes

  • Configurations of the preset templates are changed.
    • Changed the configurations of EnumPresetTemplate.default to EnumPresetTemplate.videoSingleBarcode.
    • Added template EnumPresetTemplate.imageDefault to store the legacy configurations of EnumPresetTemplate.default.
  • Updated Swift APIs
    • The following method names are changed:
      • DynamsoftBarcodeReader.updateRuntimeSettings(with parameter iPublicRuntimeSettings)
      • DynamsoftBarcodeReader.decodeIntermediateResult
      • DynamsoftBarcodeReader.decodeImage
      • DynamsoftBarcodeReader.decodeFileWithName
      • DynamsoftBarcodeReader.initRuntimeSettingsWithFile
      • DynamsoftBarcodeReader.initRuntimeSettingsWithString
      • DynamsoftBarcodeReader.appendTplFileToRuntimeSettings
      • DynamsoftBarcodeReader.appendTplStringToRuntimeSettings
      • DynamsoftBarcodeReader.outputSettingsToString
      • DynamsoftBarcodeReader.outputSettingsToFile
      • Enumeration members of EnumTerminatePhase
    • The following methods will signal errors by throw exceptions
      • DynamsoftBarcodeReader.decodeIntermediateResult
      • DynamsoftBarcodeReader.decodeImage
      • DynamsoftBarcodeReader.decodeFileWithName
      • DynamsoftBarcodeReader.decodeBase64
      • DynamsoftBarcodeReader.decodeBuffer
      • DynamsoftBarcodeReader.getIntermediateResult
      • DynamsoftBarcodeReader.createIntermediateResult
      • DynamsoftBarcodeReader.outputLicenseToString
      • DynamsoftBarcodeReader.outputSettingsToString
      • DynamsoftBarcodeReader.allParameterTemplateNames
      • DynamsoftBarcodeReader.getModeArgument
      • DynamsoftBarcodeReader.getRuntimeSettings
    • The following methods will return an BOOL value
      • DynamsoftBarcodeReader.updateRuntimeSettings
      • DynamsoftBarcodeReader.setModeArgument
      • DynamsoftBarcodeReader.resetRuntimeSettings
      • DynamsoftBarcodeReader.initRuntimeSettingsWithFile
      • DynamsoftBarcodeReader.initRuntimeSettingsWithString
      • DynamsoftBarcodeReader.appendTplFileToRuntimeSettings
      • DynamsoftBarcodeReader.appendTplStringToRuntimeSettings
      • DynamsoftBarcodeReader.outputSettingsToFile
  • Removed the following legacy video barcode decoding APIs
    • Interface iDCESettingParameters
    • Interface iFrameDecodingParameters
    • Enumeration EnumClarityCalculationMethod
    • Enumeration EnumClarityFilterMode
    • Protocol DBRErrorDelegate
    • Method DynamsoftBarcodeReader.setCameraEnhancerParam
    • Method DynamsoftBarcodeReader.startFrameDecoding
    • Method DynamsoftBarcodeReader.startFrameDecodingEx
    • Method DynamsoftBarcodeReader.appendFrame
    • Method DynamsoftBarcodeReader.setDBRErrorDelegate
    • Method DynamsoftBarcodeReader.stopFrameDecoding
    • Method DynamsoftBarcodeReader.getFrameDecodingParameters
    • Method DynamsoftBarcodeReader.getLenghtOfFrameQueue
  • Removed the following legacy license activation APIs
    • Interface iDMLTSConnectionParameters
    • Protocol DMLTSLicenseVerificationDelegate
    • Method DynamsoftBarcodeReader.initLicenseFromLTS
    • Property DynamsoftBarcodeReader.license

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

    • Latest version
    • Version 9.x
      • Version 9.4.0
      • Version 9.2.13
      • Version 9.2.11
      • Version 9.2.10
      • Version 9.0.2
      • Version 9.0.1
      • Version 9.0.0
    • Version 8.x
      • Version 8.9.3
      • Version 8.9.1
      • Version 8.9.0
      • Version 8.8.0
      • Version 8.6.0
      • Version 8.4.0
      • Version 8.2.1
      • Version 8.2.0
      • Version 8.1.2
      • Version 8.1.0
      • Version 8.0.0
    • Version 7.x
      • Version 7.6.0
      • Version 7.5.0
    Change +
    © 2003–2023 Dynamsoft. All rights reserved.
    Privacy Statement / Site Map / Home / Purchase / Support