Changelog | .NET Barcode Scanner
tip
For additional details about the API, please refer to our API reference documentation.
.NET - Version 7.1.1 (3 Nov 2025)
Android
- 🎉 New:
- General:
- Added setters for
UseCaseResolutionSizelimits for Preview and Analyzer use-cases inScanbotCameraXView. SeeScanbotCameraXView.SetPreviewFrameResolutionLimit(UseCaseResolutionSize limit)andScanbotCameraXView.SetAnalyzerFrameResolutionLimit(UseCaseResolutionSize limit).
- Added setters for
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
MinimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- General:
- 🚀 Improvements:
- Barcode Scanner:
- Improved handling of the back action with multiple dialogs and bottom sheets.
- General:
- Optimized the resolution selection for the Preview use-case in
ScanbotCameraXView. Square resolution support is now an opt-in option. SeeScanbotCameraView.SetSquareFrameSizeEnabled(bool enabled).
- Optimized the resolution selection for the Preview use-case in
- Barcode Scanner:
- 🐞 Bug fixes:
- Barcode Scanner:
- Fixed an issue where the
ExtractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
- Fixed an issue where the
- General:
- Fixed an issue with black preview in
ScanbotCameraXViewwhen the camera selected a square resolution on some Samsung and Xiaomi devices. - Prevent throwing exception when
/sys/devices/system/cpu/cpufreqdoesn't exist.
- Fixed an issue with black preview in
- Barcode Scanner:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
MinConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldMinimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
- 🚙 Under the hood:
- Updated the native SDK to Android Barcode SDK 7.1.2
- Added 3rd party PdfiumAndroid library.
iOS
- 🎉 New:
- General:
- Added property
IsInterruptedtoSBSDKCameraSessionto indicate if the camera session was interrupted by the system.
- Added property
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
MinimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- General:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
MinConfirmationsStandaloneEANinSBSDKBarcodeAccumulationConfigurationwas moved and renamed to the fieldMinimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinSBSDKBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
- 🚙 Under the hood:
- Updated the native SDK to iOS Barcode SDK 7.1.4
.NET - Version 7.1.0 (18 Aug 2025)
Android
- 🎉 New:
- Added
ExtendedQuadandExtendedQuadNormalizedfields to theBarcodeItemclass to represent extended quads for 1D barcodes. BarcodeItemhas a new fieldRawBytesEncodingsthat contains the precise character encoding information ofRawBytes.BarcodeItemhas a new fieldStructuredAppendInfofor messages split across multiple barcodes.BarcodeScannerConfigurationhas a new fieldAccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.BarcodeItemhas a new fieldGlobalIndexto identify a barcode across multiple frames. Can be used for live scanning.- Added
SetImageCaptureEnabled(bool enabled)method toScanbotCameraXViewto enable or disable image capture functionality. - Added property
FpsLimittoCameraConfigurationto limit the rate of detections per second in normal performance mode.
- Added
- 🚀 Improvements:
- Barcode Scanner:
- All Barcode AR overlays are now based on
extendedQuads. - Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- vCard document parser was improved.
- All Barcode AR overlays are now based on
- General:
- Improved
ScanbotCameraXViewpreview size selection strategy for square screens. - Improved the algorithm of high performance cores computation as the old one didn't work correctly on some devices (e.g. Pixel 9 Pro).
- Integrated Android Performance Hint Session. This significantly improves multithreading performance on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra).
- Improved
- Barcode Scanner:
- 🐞 Bug Fixes:
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now, all possible codewords are checked.
- vCard document parser now correctly processes the
FNkey asFormattedName.
- General:
- RTU-UI v2: Fixed handling of the back actions for modal dialogs.
- Barcode Scanner:
- ⚠️ Breaking Changes:
- Removed parameter
CameraUiSettingsfromInitCamera(...)inBarcodeScannerView. - Renamed method
InitDetectionBehavior(...)toInitScanningBehavior(...)inBarcodeScannerView. - Renamed method
InitDetectionBehavior(...)toInitScanningBehavior(...)inBarcodeScanAndCountView. - Modified some properties in
BoardingPass:- Renamed property
NametoPassengerName. - Renamed property
ElectronicTickettoElectronicTicketIndicator.
- Renamed property
- Modified many properties in
VCard. Some of them:- Replaced method
GetTitle()withTitleslist. - Renamed method
GetFirstName()toGetFormattedName(). - Replaced method
GetEmail()withEmailslist. - Replaced method
GetRole()withRoleslist.
- Replaced method
- Removed parameter
- 🚙 Under the hood:
- Updated the native SDK to Android Barcode SDK 7.1.0
- Added flatbuffers 2.0.6.
iOS
- 🎉 New:
- Added
ExtendedQuadandExtendedQuadNormalizedfields to theSBSDKBarcodeItemclass to represent extended quads for 1D barcodes. SBSDKBarcodeItemhas a new fieldRawBytesEncodingsthat contains the precise character encoding information ofRawBytes.SBSDKBarcodeItemhas a new fieldStructuredAppendInfo. The Structured Append mode can be used to split a message across multiple barcodes. If present, the corresponding information is returned.SBSDKBarcodeScannerConfigurationhas a new fieldAccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.SBSDKBarcodeItemhas a new fieldGlobalIndexwhich allows identifying a barcode across multiple frames.- Added property
HardwareButtonsEnabledtoSBSDKUI2CameraConfiguration. If enabled, it also allows zooming using the camera control button (iPhone 16 series). - Added property
SelectedZoomFactortoSBSDKUI2BarcodeScannerUIResultto retrieve the zoom factor used for the barcode scanning. - Added property
FpsLimittoSBSDKUI2CameraConfigurationto limit the rate of detections per second in normal performance mode. - Added property
DidEndZoomHandlertoSBSDKZoomingImageScrollView.
- Added
- 🚀 Improvements:
- Added NSCopying support to
SBSDKBarcodeTrackedViewPolygonStyleandSBSDKBarcodeTrackedViewTextStyle. SBSDKBoardingPassBarcodeDocumentParsernow supports up to version 8 of the IATA-BCBP standard.- vCard document parser was improved.
- Added NSCopying support to
- 🐞 Bug fixes:
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now all possible codewords are checked.
- vCard document parser now correctly processes the
FNkey asFormattedName. - Fixed a bug in the Barcode Scanner RTU-UI v2 where the result callback was called multiple times.
- PDF Image Extractor:
- Fixes wrong orientation of extracted images when the PDF page has a transform applied.
- Storage Crypting:
- Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- Barcode Scanner:
- ⚠️ Breaking changes:
- Removed properties
IsSelectableandIsAutomaticSelectionEnabledinSBSDKBarcodeTrackingOverlayConfiguration. - Renamed parameter
IsSelectedtoIsHighlightedin tracking overlay methods. - Renamed property
SelectedTextColorinSBSDKBarcodeTrackedViewTextStyletoHighlightedTextColor. - Renamed property
TextBackgroundSelectedColorinSBSDKBarcodeTrackedViewTextStyletoTextBackgroundHighlightedColor. - Removed parameter
scalingfrom all methods and replaced it by member variableScaleFactor. - Changed delegate method signatures in
SBSDKBarcodeTrackingOverlayControllerDelegate:- Removed
DidChangeSelectedBarcodesmethod. - Added
ShouldHighlightmethod to determine barcode highlighting state. - Added
ProposedStyleparameter to style-related delegate methods.
- Removed
- Modified some properties in
SBSDKBarcodeDocumentModelBoardingPass:- Renamed property
NametoPassengerName. - Renamed property
ElectronicTickettoElectronicTicketIndicator.
- Renamed property
- Modified many properties in
SBSDKBarcodeDocumentModelVCard. Some of them:- Replaced method
GetTitle()withTitleslist. - Renamed method
GetFirstName()toGetFormattedName(). - Replaced method
GetEmail()withEmailslist. - Replaced method
GetRole()withRoleslist.
- Replaced method
- Replaced all occurrences of the deprecated
AVCaptureVideoOrientationenum by an equal enum namedSBSDKVideoOrientation.
- Removed properties
- 🚙 Under the hood:
- Updated the native SDK to iOS Barcode SDK 7.1.0
- Added flatbuffers 2.0.6.
.NET - Version 7.0.0 (30 May 2025)
Android
- 🎉 New:
- Added advanced configuration to the Barcode Scanner that allows to further configure the barcode formats individually. See
IO.Scanbot.Sdk.Barcode.BarcodeScannerConfigurationclass for the Recognition on still image and the Classic Components. - Added support for new barcode formats that are used in the pharmaceutical industry:
PharmaCode,PharmaCodeTwoTrack,Pzn8(Pharmazentralnummer) andPzn7. - Added support for a new barcode document format
BarcodeDocumentFormat.Hibc. - Lists of predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. Old predefined sets of barcode formats were removed. See
BarcodeFormats. - Added new
BarcodeScannerEngineModetypes:NextGenLowPowerwhich is optimized for scanning on low power devices.NextGenFarDistancewhich is optimized for scanning from far distances.NextGenLowPowerFarDistancewhich is optimized for scanning from far distances on low power devices.
- Introduced a new barcode item object to better represent barcode results. See
BarcodeItem. - Added an ability to filter out all unaccepted barcode document formats in
BarcodeDocumentParser. UseScanbotSDK.ScanbotBarcodeScannerSDKComponent.BarcodeDocumentParser().ParseDocument(input: String, acceptedFormats: List<BarcodeDocumentFormat> = BarcodeDocumentFormats.all). - Introduced a boolean
StrictModefor certain barcode configurators. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we supportStrictModeforQrCode,MicroQrCode,RmqrCode,Pdf417,MicroPdf417andGs1Composite. - Images are now represented as references by using the
ImageReffeature. - Added a flag
KeepScreenOntoBarcodeScannerScreenConfigurationfor RTU-UI v2 Barcode Scanner screen. Iftrue, as long as this window is visible, the device's screen will stay awake. - Added support of
MinimumSizeScoreproperty. SeeBarcodeFormatCommonConfigurationfor the Classic components and Recognition on still image. SeeBarcodeScannerConfigurationfor RT-UI v2. - Added the option to ignore barcodes that do not decode to one of the accepted document formats. See
BarcodeScannerConfiguration.OnlyAcceptDocuments.
- Added advanced configuration to the Barcode Scanner that allows to further configure the barcode formats individually. See
- 🚀 Improvements:
- Significant speed improvements in live mode on very large input resolutions.
- Improved the false positive rate for
Itfbarcode format. - Improved quiet zone checks for the barcode formats
Itf,Code11,MsiPlessey,Iata2Of5,Industrial2Of5andCode25. - We additionally allow for checking
MaximumTextLengthfor the barcode formatsCode11,Code39,Code93,Code128andCodabar. - Improved the recognition of
Pdf417barcodes in the barcode scanner. - Improved the barcode scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- 🐞 Bug fixes:
- Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting it out for RTU-UI v1 screens.
- RTU-UI v2: Fixed the modal dialog to no longer appear below the status bar.
- Clamped parametric filters radius to 127 to prevent asserts in openCV.
- Fixed an overflow when decoding a
MicroQrCodebarcode format with wrong bits in numeric mode. - Fixed
MinimumTextLengthforItfbarcode format. Before, we used it to check the number of symbols instead of the true text length. - Fixed returned results for all types of
UpcEanExtensionBehavior. - Fixed checksum for
Code39barcode format. - For
Code11barcode format with exactly 10 data digits, enabled checksum and enabled flagStripCheckDigits, we now strip both check digits. - Fixed sorting of quad points for four-state/postal barcode types.
- RTU-UI v2: fixed issue where
FindAndPickScanningMode.SheetContent.BarcodeItemImageVisiblewas not properly applied. - RTU-UI v2: fixed accessibility content for action buttons.
- Fixed an issue when scanning
Code93barcodes withstripCheckDigits = false(default) and the check digit was an extension character.
- ⚠️ Breaking Changes:
- RTU-UI v1: Refactored the screen result structure for both single and batch scanning operations. See more here:
BarcodeScannerResult. - RTU-UI v1: Removed the ability to set Barcode Image Generation type in the screen configuration.
- RTU-UI v2: Changed the result API of the screen. See more here:
BarcodeScannerUiResult. - Renamed the
IScanbotBarcodeDetectortoIScanbotBarcodeScanner. Also seeScanbotBarcodeScannerSDK.CreateBarcodeScanner()instance method. - Updated the old configuration API of Barcode Scanner.
- In the RTU-UI v2, the
BarcodeScannerScreenConfigurationis the primary configuration object, that wraps the existingBarcodeScannerConfigurationobject. - In the Still image recognition and the Classic Component's
IBarcodeScannerinterface,ModifyConfig(...)method no longer exists. UseSetConfiguration(..)instead.
- In the RTU-UI v2, the
- All Barcode Formats are represented by
IO.Scanbot.Sdk.Barcode.BarcodeFormatenum. All other barcode format enums were removed. - Replaced class
IO.Scanbot.Barcode_Scanner.Model.BarcodeTypewithIO.Scanbot.Sdk.Barcode.BarcodeFormat. - Renamed enum
MSIPlesseyChecksumAlgorithmtoMsiPlesseyChecksumAlgorithm. - Barcode Document Formats are represented by
IO.Scanbot.Sdk.Barcode.BarcodeDocumentFormatenum. - Removed class
IO.Scanbot.Sdk.UI_v2.Common.Mappers.AspectRatio, please useIO.Scanbot.Sdk.Common.AspectRatio. - Replaced class
BarcodesExtensionFilterwithUpcEanExtensionBehaviorand propertyBarcodesExtensionFilterwithExtensions. SeeBarcodeScannerConfigurationin RTU-UI v2. - Replaced
AcceptedDocumentFormatslist parameter inBarcodeScannerConfigurationwithExtractedDocumentFormatslist of document formats andOnlyAcceptDocumentsflag.
- RTU-UI v1: Refactored the screen result structure for both single and batch scanning operations. See more here:
- 🚙 Under the hood:
- Updated the native SDK to Android Barcode SDK 7.0.2
- Updated Compile Sdk to 35
- Android Jetpack Compose updated to 1.7.8
- Upgraded nlohmann::json to 3.11.3
- Upgraded xsimd to 13.2.0
- Upgraded xtl to 0.8.0
- Upgraded xtensor to 0.26.0-scanbot
- Upgraded yaml-cpp to 0.8
- Upgrade OpenCV to 4.10
- Updated Boost C++ version to 1.88.0
- Updated spdlog version to 1.15.2
iOS
- 🎉 New:
- Added advanced configuration to the Barcode Scanner that allows to further configure the barcode formats individually. See
SBSDKBarcodeScannerConfigurationclass for recognition on still image and the Classic Components. - Added support for barcode types Pharma Code, Pharma Code Two Track, PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormats. - Added new
BarcodeScannerEngineModetypes:NextGenLowPowerwhich is optimized for scanning on low power devices.NextGenFarDistancewhich is optimized for scanning from far distances.NextGenLowPowerFarDistancewhich is optimized for scanning from far distances on low power devices.
- Ability to configure the Barcode Scanner in the Classic UI and in the Still image recognition using the new
SetConfiguration(...)method. SeeSBSDKBarcodeScannerandSBSDKBarcodeScannerViewController. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem. - Introduced
SBSDKBarcodeFormatsandSBSDKBarcodeFormatthat represent the barcode format sets and the individual barcode types respectively. - Ability to get the
ExtractedDocumentFormatsfrom the barcode document parser. SeeSBSDKBarcodeDocumentParser. - Introduced a boolean
StrictModefor certain barcode configurations. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we supportStrictModefor QR Code, Micro QR Code, rMQR Code, PDF417, MicroPDF417 and gs1Composite. - Images returned in scanner results are now represented as image references. See
SBSDKImageRef. They can be converted toUIImageobjects using the methodToUIImage(). - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrameusing the new methodSBSDKBarcodeScanner.Scan(from: SBSDKBaseScannerFrame, useLiveMode:). - Ability to initialize the Barcode Scanner using the new constructor
SBSDKBarcodeScanner(formats:, live:, extractedDocumentFormats:). - Introduced new property
OptimizeOverlaystoSBSDKBarcodeScannerthat generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner using the common barcode configurators, see
SBSDKBarcodeFormatCommonConfiguration. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.DateOfLastDetection. - Ability to process additional frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.AdditionalFrameProcessor. - Added property
HardwareButtonsEnabledtoSBSDKBaseScannerViewController(all Classic UI) which can be set tofalseto restore the original volume button behavior. - Added properties
SessionDidChangeHandlerandIsSessionRunningtoSBSDKBaseScannerViewController. - Added functions
PauseandResumetoSBSDKBaseScannerViewController.
- Added advanced configuration to the Barcode Scanner that allows to further configure the barcode formats individually. See
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the recognition of
PDF417barcodes in the barcode scanner. - Improved the barcode scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- 🐞 Bug fixes:
- Fixed processing of still images of indexed color space model in Barcode Scanner.
- Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
- Fixed a bug in
SBSDKBarcodeScannerViewControllerthat could have lead to a crash when embedded within aUIViewControllerRepresentable. - Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
- Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
- Fixed the returned results for all types of
SBSDKUpcEanExtensionBehavior. - Fixed the checksum of the Code 39 barcode format.
- Fixed an issue when scanning Code 93 barcodes with
stripCheckDigits = false(default) and the check digit was an extension character.
- ⚠️ Breaking changes:
- Removed property
CodeinSBSDKBarcodeScannerAccumulatingResult, use the propertyIteminstead. - Removed properties
AcceptedBarcodeTypes,AcceptedDocumentTypes,ExtensionFilter,AdditionalDetectionParameters,AcceptedDocumentTypes,UseLiveMode,RegularExpressionPatternandEngineModeinSBSDKBarcodeScannerViewController, please use the newCopyCurrentConfiguration()andSetConfiguration(...)methods, seeSBSDKBarcodeScannerConfiguration. - Removed existing constructors and multiple overloads of
DetectBarCodesmethods fromSBSDKBarcodeScannerclass. Added new constructor that usesSBSDKBarcodeScannerConfigurationto initialize the scanner and the detect methods have been renamed toScan. - Removed enum
SBSDKBarcodeImageGenerationTypeand propertyBarcodeImageGenerationTypefromSBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerBehaviorConfiguration. - Replaced class
SBSDKPolygonEdgewithSBSDKLineSegment. - Replaced enum
SBSDKPolygonEdgeOrientationwithSBSDKLineSegmentOrientation. - Renamed class
SBSDKBarcodeTypetoSBSDKBarcodeFormat. - Renamed class
SBSDKBarcodeDocumentRootTypetoSBSDKBarcodeDocumentFormat. - Renamed constructor parameter from
SBSDKBarcodeScannerAccumulatingResult(barcodeResult:)toSBSDKBarcodeScannerAccumulatingResult(barcodeItem:). - Renamed method
FilterResults(...)toFilterBarcodes(...)inSBSDKBarcodeScannerViewControllerDelegate. - Renamed class
SBSDKUI2BarcodeRecognizerConfigurationtoSBSDKBarcodeScannerConfiguration. - Renamed class
SBSDKUI2BarcodeScannerResulttoSBSDKUI2BarcodeScannerUIResult. - Updated the existing constructors of class
SBSDKBarcodeScannerViewControllerby adding theconfigurationproperty of typeSBSDKBarcodeScannerConfiguration. - Updated all methods of
SBSDKBarcodeTrackingOverlayControllerDelegateto use the newSBSDKBarcodeItemobject type. - Changed the method
Make(withBarcode:)to use the newSBSDKBarcodeIteminSBSDKTrackedBarcodeInfoViewable. - Changed all methods of
SBSDKBarcodeScanAndCountViewControllerto use the newSBSDKBarcodeItem. - Updated the existing constructors of class
SBSDKBarcodeScanAndCountViewControllerby adding theconfigurationproperty of typeSBSDKBarcodeScannerConfiguration. - Renamed parameter name
handlertocompletioninCreateNewWithConfiguration(...)andPresentOn(...)functions ofSBSDKUI2BarcodeScannerViewController. - Replaced
SBSDKUI2BarcodesExtensionFilterenum for RTU-UI v2 withSBSDKUpcEanExtensionBehaviorenum from Barcode Scanner Classic component API. - Renamed property
BarcodesExtensionFilterinSBSDKUI2BarcodeScannerConfigurationtoExtensions. - Renamed class
SBSDKBarcodesExtensionFiltertoSBSDKUIBarcodesExtensionFilter. - Changed the display names of various barcode formats. See
SBSDKBarcodeFormat.Name.- The changed names are
Australia PosttoAustralian Post,CodaBartoCodabar,DataMatrixtoDatamatrix,GS1 Databar LimitedtoDatabar Limited,EAN_13toEAN 13,EAN_8toEAN 8,IATA 2of5toIATA 2 of 5,INDUSTRIAL 2of5toIndustrial 2 of 5,MICRO PDF417toMicro PDF 417,MicroQRCodetoMicro QR,QRCodetoQR,RMQR CodetoRMQR,UPC-AtoUPC A, andUPC-EtoUPC E.
- The changed names are
- Removed property
- 🚙 Under the hood:
- Updated the native SDK to iOS Barcode SDK 7.0.2
- Starting from this version, the Scanbot SDK is linked as an xcframework under the hood, instead of a framework as it was until now. Please remove any
RuntimeIdentifierorForceSimulatorX64ArchitectureInIDEproperties from your*.csprojfile. - The regex filters are applied for substrings instead of the entire output string.
- Upgraded nlohmann::json to 3.11.3.
- Upgraded xsmid to 13.2.
- Upgraded xtl to 0.8.
- Upgraded xtensor to 0.26.0-scanbot.
- Upgraded yaml-cpp to 0.8.
- Upgraded CLI11 to 2.5.
- Upgraded spdlog to 1.15.2.
- Upgraded Boost to 1.88.
.NET - Version 6.1.0 (29 Jan 2025)
Android
- 🎉 New:
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
AustraliaPostCustomerFormat,UseIata2Of5ChecksumandUseCode11ChecksumtoBarcodeScannerAdditionalConfigandBarcodeRecognizerConfiguration. - Added new property
AddAdditionalQuietZonetoBarcodeScannerAdditionalConfig. - Added a new property
AllowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added a new predefined collection of barcodes,
BarcodeFormat.POSTAL, which includes barcodes used in the postal industry. - Added
AustraliaPostCustomerFormatenum to represent formats of the barcode data for the Australian Post customer barcode.
- 🚀 Improvements:
- AR overlay is enabled by default for
FindAndPickScanningModein Barcode Scanner RTU UI v2 screen. - For
CODE_128andITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly. - Added support for Extended Channel Interpretation (ECI) for Data Matrix and Aztec barcodes.
- Improved GS1 string handling with new modes for decoding and validation. See
Gs1Handling. - Improved detection of UPC/EAN barcode extensions in live mode.
- The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- AR overlay is enabled by default for
- 🐞 Bug fixes:
- Fixed the height of the bottom sheet component for the Barcode Scanner RTU UI v2 screen.
- Fixed KANJI mode for QR codes.
- Fixed a bug with incorrect raw bytes returned for some 2D barcode types.
- Fixed an issue with AR Overlay and barcode mapping in
BarcodeScannerActivityRTU UI v2, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below. - Minor fixes for the Barcode Scanner appearance in RTU UI v2 to make it consistent with its iOS counterpart.
- Fixed R8 obfuscation config for SDK logging classes.
- ⚠️ Breaking Changes:
- Removed enum
BarcodeDensity.- Removed property
CodeDensityfromBarcodeAdditionalParameters.
- Removed property
- Removed enum values
ValidateandDecodefromGS1Handlingand replaced them withDecodeStructure,DecodeFull,ValidateStructureandValidateFull. - Removed redundant fields
barcodeImagePathandbarcodePreviewFramePathfromResultclass in Barcode Scanner RTU UI v2. - Changed
BarcodesRegexFilterconfig behavior for Barcode Scanner RTU UI v2. Barcodes are accepted if the barcode data contains the part that matches the regex.
- Removed enum
- 🚙 Under the hood:
- Updated the native SDK to Android Barcode SDK 6.1.1
- Updated 3rd-party libraries:
- added
gs1-syntax-dictionarylib
- added
iOS
- 🎉 New:
- Added a new property
HardwareButtonsEnabledthat enables snapping from the hardware volume buttons and the new hardware camera control button toSBSDKBarcodeScanAndCountViewController, available on iOS 17.2 and later. - Added new zoom control slider controlled by the new camera control button on all view controllers, available on all the new iPhone 16 models.
- Added a new property
AllowEmptySubmissiontoSBSDKUI2MultipleScanningMode. - Added new property
AddAdditionalQuietZonetoSBSDKBarcodeAdditionalParameters. - Added new property
PostalTypestoSBSDKBarcodeType. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
AustraliaPostCustomerFormat,UseIATA2OF5ChecksumandUseCode11ChecksumtoSBSDKBarcodeAdditionalParametersandSBSDKUI2BarcodeRecognizerConfiguration.
- Added a new property
- 🚀 Improvements:
- The AR-overlay in
SBSDKUI2FindAndPickScanningModeis now visible by default. - For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- Improved GS1 string handling with new modes for decoding and validation. See
SBSDKGS1Handling. - Added the ability to display the scanned barcode's image in the Find and Pick use case of
SBSDKUI2BarcodeScannerViewControllerby specifyingSBSDKUI2ExpectedBarcode.BarcodeImageKeyfor the expected barcode'sImageproperty. - Improved detection of UPC/EAN barcode extensions in live mode.
- The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- The AR-overlay in
- 🐞 Bug fixes:
- Fixed a crash in scanners when setting the same
minZoomandmaxZoominSBSDKZoomRange. - Fixed KANJI mode for QR codes.
- Fixed a bug with wrong raw bytes returned for some 2D barcode types.
- Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes were displayed along with their non-extended versions.
- Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- Fixed a UI issue in the RTU-UI v2 Find and Pick scanner in
buttonsheet mode where the counter badge was not visible. - Fixed a bug that did not mirror the front camera as expected.
- Fixed a bug in
SBSDKUI2SingleScanDialogModelProviderwhere the default displayed texts were not correct. - Fixed a UI issue on the RTU-UI v2 barcode sheet screen where the subtitle label was being vertically cut off.
- Fixed a UI issue on the RTU-UI v2 barcode confirmation sheet in the single use case where the loading indicator was not centered when the loading message was hidden.
- Fixed a bug in the Find and Pick use case of
SBSDKUI2BarcodeScannerViewControllerthat never showed the expected barcode's title, but always the barcode value. - Fixed a bug in
ScanbotColorwhere settingisArgbto true, resulted in a wrong color.
- Fixed a crash in scanners when setting the same
- ⚠️ Breaking Changes:
- Replaced the buggy initializer
init?(json: Data)inSBSDKUI2BarcodeScannerConfigurationby the static functionSBSDKUI2BarcodeScannerConfiguration.FromJsonWithJson. - Removed enum
SBSDKBarcodeDensity. - Removed property
CodeDensityfromSBSDKBarcodeAdditionalParameters. - Removed enum values
ValidateandDecodefromSBSDKGS1Handlingand replaced them byDecodeStructure,DecodeFull,ValidateStructureandValidateFull.
- Replaced the buggy initializer
- 🚙 Under the hood:
- Updated the native SDK to iOS Barcode SDK 6.1.1
.NET - Version 5.1.0 (26 Jun 2024)
Android
- 🎉 New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. See Ready-to-Use UI for documentation and various use cases.
- Added support for new barcode format BarcodeFormat.MicroPdf417.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- 🚀 Improvements:
- Optimized speed of the camera preview frames handling for all scanners.
- Changed the touch to focus square in ScanbotCameraXView to a circle.
- 🐞 Bug fixes:
- For BarcodeFormat.Pdf417, a single case to generate clusters was not covered, which led to a crash.
- Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
- Fixed SoundController crash on Android API <= 23.
- ⚠️ Breaking Changes:
- BatchBarcodeScannerActivity class from RTU UI v1 is now marked as 'Deprecated'.
- Renamed Rss14 barcode format to Databar and RssExpanded to DatabarExpanded.
- Removed BarcodeFormat.Code25 from BarcodeFormat.CommonCodes list.
- Deleted deprecated IsLicenseActive and IsLicenseValid from ScanbotBarcodeScannerSDK. Please use LicenseInfo.IsValid instead.
- ZoomRange can be created with any input values but will be limited under the hood by internal MinZoom (x0.2) and MaxZoom (x100) values.
- Replaced the class BarCodeFormattedResult by GenericDocument class for barcode document parser output.
- BarcodeExtensionsFilter now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
- 🚙 Under the hood:
- Updated the native SDK to Android Barcode SDK 5.1.0
- Updated 3rd-party libraries:
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40
- libtiff to 4.6.0
- Added third-party library libzueci version 1.0.0.
- Extracted parts of ScanbotBarcodeScannerSDK API to the ILicensableSdk and IBarcodeScanningSdk interfaces.
- Migrated project to AGP 8.x.
- Added more rules for R8 shrinker to work adequately with AGP >= 8.
- Added Theme.AppCompat.NoActionBar theme as default for Barcode Scanner RTU UI v2 activity.
- Added Consumer Proguard rules for RTU UI v2 modules.
- Class SoundController was renamed to SoundControllerImpl and interface SoundController was extracted.
iOS
- 🎉 New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. See Ready-to-Use UI for documentation and various use cases.
- Added support for new barcode type SBSDKUI2BarcodeFormat.MicroPdf417.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added various properties to SBSDKBaseScannerViewController and SBSDKBarcodeScannerViewController:
- Added new property RegularExpressionPattern to SBSDKBarcodeScannerViewController and SBSDKBarcodeScanner to limit detection results.
- Added IsCameraFrozen property to SBSDKBaseScannerViewController.
- Added new function ResetAccumulation to SBSDKBarcodeScannerViewController.
- Added the ViewFinderStyle property to SBSDKBaseScannerViewController.
- Added new classes for all the barcode document formats. See the API documentation for more details.
- Added a new class SBSDKBarcodeDocumentConstants which has all the constants related to the barcode document format.
- Added a new class SBSDKBarcodeDocumentRootType which replaces the old SBSDKBarCodeScannerDocumentFormat.
- Added possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See ScanbotSDKGlobal.TestData, SBSDKTestData and SBSDKSimulatedCameraMockData.
- Added streaming encryption support to SBSDKStorageCrypting.
- Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
- Added new static property MaximumRecommendedImageSize to SBSDKDeviceInformation.
- 🚀 Improvements:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
- Improved speed and image quality of still image capturing.
- Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
- Added support of haptic feedback on capable devices.
- SBSDKPDFPagesExtractor functions now create the output directory if it doesn't exist yet.
- Added support for structured logging (OSLog) to the SDK (iOS 14+).
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
- Fixes a bug with the asynchronous functions of SBSDKPDFPagesExtractor which returned an empty array of image URLs.
- Fixes a problem that slowed down still image capturing on some older iOS devices.
- Fixed a critical bug in the camera session causing still images to be captured at a lower than expected resolution.
- ⚠️ Breaking Changes:
- IMPORTANT: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
- Deprecated SBSDKUIBarcodeScannerViewController and SBSDKUIBarcodesBatchScannerViewController along with their related classes. Please consider switching to the new SBSDKUI2BarcodeScannerViewController.
- Renamed function CaptureJPEGStillImage to CaptureStillImageWithCompletionHandler in SBSDKBaseScannerViewController (and all subclasses) and SBSDKCameraSession.
- Replaced the class SBSDKBarcodeDocumentType with SBSDKBarcodeDocumentRootType.
- Removed the protocol SBSDKBarCodeScannerDocumentFormat and all of its children classes.
- Changed SetLoggingEnabled to property IsLoggingEnabled in SBSDKLog.
- Changed all SBSDKBarcodeType global constants to static properties of SBSDKBarcodeType.
- Moved the global constants SBSDKBarcodeMetadataEANUPCExtensionKey and SBSDKBarcodeMetadataIsGS1MessageKey to SBSDKBarcodeScannerResult as its static properties.
- 🚙 Under the hood:
- Updated the native SDK to iOS Barcode SDK 5.1.0
- Added third-party library libzueci version 1.0.0
- Refactored all public SDK code to Swift.
.NET - Version 4.2.0 (6 Mar 2024)
- 🎉 New:
- Added support for several new barcode formats including:
AustraliaPostDatabarLimitedGs1CompositeJapanPostRoyalMailRoyalTntPostUspsIntelligentMail
- Enhanced control over how to handle GS1 messages in barcodes.
- Added
CameraZoomRangeinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration.
- Added support for several new barcode formats including:
- 🐞 Bug fixes:
- Android:
- Optimized camera functionalities in
ScanbotCameraXView. - Modified camera zoom functionalities to switch to zoom ratio.
- Optimized camera functionalities in
- iOS:
- Fixed UI issues in
SBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewController.
- Fixed UI issues in
- Android:
- ⚠️ Breaking changes:
- GS1 codes are now handled differently for various barcode types. Using the default option
GS1Handling.Parsewill give the same result as before for all barcode types, except forBarcodeFormat.RssExpanded. Previously, forRssExpanded, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the optionGS1Handling.Decode.
- iOS:
- The method
DidDetectin theBarcodeResultReceiverclass has been renamed toDidDetectResults, and its signature now matches the updated method signature in theSBSDKUIBarcodeScannerViewControllerDelegateinterface.
- The method
- GS1 codes are now handled differently for various barcode types. Using the default option
- 🚙 Under the hood:
- iOS:
- Added new methods in
SBSDKCameraDeviceclass for camera and licensing functionalities.
- Added new methods in
- The native Scanbot iOS SDK upgraded to v4.2.1.
- The native Scanbot Android SDK upgraded to v4.2.0.
- iOS:
.NET - Version 4.0.0 (9 Jan 2024)
- 🎉 New:
- iOS:
- Added new Classic UI component
SBSDKBarcodeScanAndCountViewControllerwhich enables you to count barcodes from multiple scans using the shutter button. - Added property
ExtensionFilterto all barcode scanning APIs (SBSDKBarcodeScanner,SBSDKBarcodeScannerViewController,SBSDKBarcodeScanAndCountViewController,SBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration). - Added property
ExtensiontoSBSDKBarcodeScannerResult. - Added
TrackingOverlayControllerproperty toSBSDKBarcodeScannerViewController. - Introduced new classes and protocols to manage barcode tracking overlay:
SBSDKBarcodeTrackingOverlayController: Provides a customizable user interface for displaying barcodes and supports interaction with them.SBSDKBarcodeTrackingOverlayConfiguration: Represents the configuration options for aSBSDKBarcodeTrackingOverlayController.SBSDKBarcodeTrackedViewTextStyle: Represents the style and kind of text rendered below a barcode.SBSDKBarcodeTrackedViewPolygonStyle: Represents the style of the polygon rendered around a barcode.SBSDKTrackedBarcodeInfoView: A protocol that defines the methods and properties required for a custom tracking view.
- Added functions to
SBSDKDeviceInformationto get the total, used and unused disk space on the device. - Added new method
widestAvailableBackFacingCameratoSBSDKCameraDevice. - Added new method
setupDefaultLicenseFailureHandlerWithCompletion:to theScanbotclass.
- Added new Classic UI component
- iOS:
- 🚀 Improvements:
- Android:
- It is now possible to color each barcode on the barcode AR overlay. Use
barcodeScannerView.selectionOverlayController.setBarcodeAppearanceDelegate(delegate: BarcodePolygonsView.BarcodeAppearanceDelegate)to manage polygon appearance. - Reduced the number of barcode detector models from 3 to 2. The model used in Fast mode is now ~20% faster, about the same speed as Fastest mode.
- Fixed declaration of attributes
polygonStrokeDeclinedColorandpolygonFillDeclinedColor.
- It is now possible to color each barcode on the barcode AR overlay. Use
- iOS:
- RTU-UI configurations can now be initialized with partial/incomplete JSON data by internally merging the partial data into the configurations default values.
- Improved the speed of barcode recognition for most barcode symbologies.
- Android:
- 🐞 Bug fixes:
- Android:
- Removed conflicting "app_name" string resources from library modules.
- Fixed bug for
BarcodePolygonsStaticViewwhere it crashed ifbarcodeItemViewFactoryreturnsnullinstead of view. - Before, for certain invalid decodings of QR and MicroQR codes, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
- Before, we have returned CODE_25 results when INDUSTRIAL_2_OF_5 was enabled and CODE_25 was disabled. Now, we do not return the CODE_25 result for such decoding options.
- iOS:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Fixed a crash when denying camera permission.
- Android:
- ⚠️ Breaking changes:
- Android:
- Removed methods from
BarcodePolygonsViewandBarcodeScannerView.selectionOverlayControllerrelated to polygon and text view appearance. E.g.setStrokeColoretc. Please useBarcodeAppearanceDelegateinstead! - Removed
UNKNOWNbarcode type from the API as it is applicable only for internal usage.
- Removed methods from
- iOS:
- Due to a Swift compiler naming collision, the class
ScanbotSDKhas been renamed toScanbotSDKGlobal. - Renamed the class
ScanbotSDKUItoScanbotUI. - Removed barcode type
SBSDKBarcodeTypeUnknown. - Removed
SelectionOverlayTextForfromSBSDKUIBarcodeScannerViewController. - Renamed
SelectionOverlayEnabledtoIsTrackingOverlayEnabledinSBSDKBarcodeScannerViewController. - Renamed
SBSDKUIBarcodeSelectionOverlayConfigurationtoSBSDKUIBarcodeTrackingOverlayConfiguration. - Renamed
SelectionOverlayConfigurationtotrackingOverlayConfigurationinSBSDKUIBarcodeScannerConfigurationandSBSDKUIBarcodesBatchScannerConfiguration. - Renamed
PhotoQualityPriorizationtoPhotoQualityPrioritizationeverywhere in the SDK.
- Due to a Swift compiler naming collision, the class
- Android:
- 🚙 Under the hood:
- Removed reference to
Scanbot.NET.SDK.Dependenciespackage for Android. Instead, the needed dependencies are referenced directly. - The native Scanbot Android SDK upgraded to v4.0.1.
- The native Scanbot iOS SDK upgraded to v4.0.3.
- Removed reference to
.NET - Version 3.7.0 (5 Oct 2023)
- 🎉 New:
- Both Android and iOS:.
- Added support for the Micro QR barcode type.
- Added view finder flag for barcode scanners (see more details below).
- Android:
- Added new function
SetViewFinderEnabledto:IO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfigurationIO.Scanbot.Sdk.UI.View.Barcode.Batch.Configuration.BatchBarcodeScannerConfiguration
- Introduced a scanned barcode confirmation dialog in
IO.Scanbot.Sdk.UI.Barcode_scanner.View.Barcode.BarcodeScannerActivityRTU screen:- Added
SetConfirmationDialogConfigurationtoIO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfigurationfor modifying dialog UI.
- Added
- Added Scan and Count of Barcodes feature.
- Use
IO.Scanbot.Sdk.Barcode.UI.BarcodeScanAndCountViewto integrate it into your app.
- Use
- Added new function
- iOS:
- Added new property
ViewFinderEnabledto:ScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfigurationScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
- Added new properties
ConfirmationDialogTitleandConfirmationDialogMessagetoScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerTextConfiguration.
- Added new function
FlipHorizontallytoScanbotBarcodeSDK.iOS.SBSDKPolygon. - Added new property
IsMirroredtoScanbotBarcodeSDK.iOS.SBSDKCameraDevice.
- Added new property
- Both Android and iOS:.
- 🚀 Improvements:
- Both Android and iOS:
- Improved accuracy and detection speed of several barcode types, such as QR_CODE, Code39, and Code93.
- Added support for inverted PDF-417 barcodes.
- iOS:
- Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in:
- All Classic UI components
- All RTU-UI components
- The
ScanbotBarcodeSDK.iOS.SBSDKZoomRangeclass
- Support for generic documents in the MRZ recognizer.
- Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in:
- Both Android and iOS:
- 🐞 Bug fixes:
- Android:
- Fixed a crash within the barcode detector.
- Fixed detection of several
RSS_EXPANDEDfalse-positives in live mode. - Fixed a bug causing incorrect (mirrored) preview when
CameraModule.Frontis set up forIO.Scanbot.Sdk.UI.Camera.ScanbotCameraXView.
- iOS:
- Fixed the detection of a few false positive RSS Expanded codes in live mode.
- Fixed an unexpected behavior of the barcode scanner when passing
ScanbotBarcodeSDK.iOS.SBSDKBarcodeType.Unknownas accepted barcode type. - Fixed a bug in all Classic UI and RTU-UI components where the
RecognitionEnabledproperty might not have worked as intended. - Fixed a bug where
automaticSelectionEnabledwas not working properly inScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerViewController. - Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Fixed a crash when denying camera permission.
- Android:
- ⚠️ Breaking changes:
- iOS:
- Several delegate method names were renamed, such as:
ScanbotBarcodeSDK.iOS.SBSDKUIViewControllerDelegate:ViewControllerShouldCanceltoShouldCancel.ViewControllerShouldFinishtoShouldFinish.
- Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
- Removed
ScanbotBarcodeSDK.iOS.SBSDKUIMachineCodesCollectionclass. - Renamed the property
AcceptedMachineCodeTypestoAcceptedBarcodeTypesin:ScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfigurationScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
- Several delegate method names were renamed, such as:
- iOS:
- 🚙 Under the hood:
- The native Scanbot Android SDK upgraded to v3.7.0.
- The native Scanbot iOS SDK upgraded to v3.7.0.
.NET - Version 3.6.0 (20 Jul 2023)
- 🎉 First release of the
ScanbotBarcodeSDK.NETNuGet package for Native iOS and Android APIs. - Provides Ready-To-Use UI Components - a set of easy to integrate Native wrappers of .NET based on iOS and Android native components for the most common tasks in Scanbot SDK:
- Barcode & QR code scanner
- Batch Barcode scanner
- Provides additional SDK features based on image picked from the device photos application:
- Detect Barcodes on Image
- New unified Scanbot SDK API:
- Idiomatic asynchronous design
- Example App demonstrating the new functionality: scanbot-barcode-sdk-maui-example
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license