Scandit Data Capture SDK 6.23 Release Notes (March 22, 2024)
See also the System Requirements of the Scandit Data Capture SDK across all platforms.
New Features
Updated privacy manifests with the description of data collected by the frameworks.
Barcode
SparkScan has received a number of updates and improvements:
The target mode has been improved with better performances (faster selection of barcodes), a more consistent workflow (the target mode will only show the aimer, without changing the preview size or the way barcodes are scanned) and a better UI (new aimer and new icon).
The preview size is now independent from scanning mode or scanning precision (deprecated) parameters. Instead, it is controlled by a dedicated control added to the preview. Use SDCSparkScanView.previewSizeControlVisible to define if preview size control should be displayed.:
The “accuracy” workflow has been revisited and streamlined into a more consistent and performant workflow.
Developers can set SDCSparkScanPreviewBehavior to specify the preview behavior type of the SDCSparkScanView. When previewBehavior is SDCSparkScanPreviewBehaviorPersistent, after the scan the preview does not disappear, but stays obscured and running (but not scanning) for easier aiming.
Added SDCSparkScanScanningModeTarget.previewBehavior and SDCSparkScanScanningModeDefault.previewBehavior to specify preview behavior for scanning modes.
Added initializers for SDCSparkScanScanningModeTarget and SDCSparkScanScanningModeDefault that accept SDCSparkScanPreviewBehavior instead of SDCSparkScanScanningPrecision.
Toast messages are now displayed on top of the preview rather than scan button. Additional toast messages have been added for better guidance.
Added :prop:’barcode.spark.ui.SparkScanToastSettings.TorchEnabledMessage’ and :prop:’barcode.spark.ui.SparkScanToastSettings.TorchDisabledMessage’ to specify toast message when the torch enabled or disabled:
The zoom functionality is now independent from scanning mode and is now available in both default and target modes.
Added SDCSparkScanViewSettings.zoomFactorOut and SDCSparkScanViewSettings.zoomFactorIn to specify default zoom factor in zoomed out and zoomed in states for both scanning modes default and target:
The feedback emission system has been improved: for new implementation, there is no need to explicitly emit a success feedback on scan, as it became implicit.
Added SDCSparkScanBarcodeFeedback, SDCSparkScanFeedbackDelegate and SDCSparkScanView.feedbackDelegate to define and emit feedback that can be customized for every scanned barcode.:
Added SDCSparkScanViewSettings.inactiveStateTimeout to specify the timeout to automatically stop scanning across all modes
Added withSparkScan SwiftUI view modifier to easily integrate SparkScan into a SwiftUI view hierarchy. See Get started with SparkScan.
Barcode Pick is an API that implements MatrixScan Pick. MatrixScan Pick is an out-of-the-box scan solution; it uses real-time inventory data and augmented reality to assign precise, item-specific tasks, guaranteeing pinpoint accuracy in restocking, inventory audits, and parcel delivery. Barcode Pick is no longer in beta and a new feature has been added in 6.23: * Added SDCBarcodePickStatusIconStyle to display additional information on top of the regular highlight. * Added SDCBarcodePickViewHighlightStyle to visualize a custom view on top of the tracked barcodes. * Added SDCBarcodePickListener to listen to SDCBarcodePickSession to know the items currently on screen and the newly added items.
Added support for SDCSymbologyAustralianPost. By default, customer information is decoded with Table N, and Table C is used as a fallback. To set a specific decoding table for the customer information, use the symbology extensions: force_table_c or force_table_n to enforce decoding with either C or N tables respectively. The symbology extension decode_bar_states returns the error-corrected customer information bars as a string of the bar states, A for ascending, D for descending, T for tracker and F for full.
Added getter and setter methods for hint shown when a barcode not in the expected list is scanned in SDCBarcodeCountView (see SDCBarcodeCountView.textForBarcodesNotInListDetectedHint and SDCBarcodeCountView.setTextForBarcodesNotInListDetectedHint:).
Several APIs have been updated to be more Swift-friendly:
The following properties are now exposed as Set<Symbology>:
The following methods now accept Set<Symbology>:
BarcodeCountSession.recognizedBarcodes is now exposed as [Int: TrackedBarcode]
BarcodeFilterSettings.excludedSymbolCounts is now exposed as [Symbology : Set<Int>]
BarcodeTrackingSession.removedTrackedBarcodes is now exposed as [Int]
BarcodeTrackingSession.trackedBarcodes is now exposed as [Int: TrackedBarcode]
Symbology now conforms to CaseIterable. For this reason, SDCAllSymbologies is not available anymore in Swift
SymbologySettings.activeSymbolCounts is now exposed as Set<Int>
WaveFormVibration.timings is now exposed as [TimeInterval], and WaveFormVibration.amplitudes as [Float]?
Performance Improvements
Barcode
Improved tracking robustness for low-end devices in MatrixScan Count.
Bug Fixes
Barcode
Fixed flickering of guidances in SDCBarcodeSelection.
ID
Fixed issues with scanning AAMVA documents (barcode part) that contains characters from non-English alphabets.
Fixed a licensing issue where a Barcode Scanner license was wrongly required when scanning the back side of a UK driver’s license.
Fixed a crash when scanning a passport MRZ then a non-passport VIZ.
Core
Fixed the radius of the radius location selection for cases where the SDCDataCaptureView’s aspect ratio is considerably different from the aspect ratio of the camera frames.
Deprecations
Barcode
SparkScan received number of updates and improvements:
New APIs have been added to SparkScan to deliver a number of updates and improvements. At the same time, some of the existing APIs have become irrelevant.
Deprecated SDCSparkScanScanningPrecision. Replaced by SDCSparkScanPreviewBehavior because the “accurate” workflow has been simplified.:
Deprecated SDCSparkScanScanningModeTarget and SDCSparkScanScanningModeDefault initializers that accepted SDCSparkScanScanningPrecision. Replaced by initializers that accept SDCSparkScanPreviewBehavior instead.:
Deprecated SDCSparkScanScanningModeTarget.scanningPrecision and SDCSparkScanScanningModeDefault.scanningPrecision. Replaced with SDCSparkScanScanningModeTarget.previewBehavior and SDCSparkScanScanningModeDefault.previewBehavior to specify preview behavior for scanning modes.:
Deprecated SDCSparkScanView.shouldShowTargetModeHint and SDCSparkScanView.targetModeHintText. This hint is not displayed anymore due to changes in SDCSparkScanScanningModeTarget scanning mode.:
Deprecated :prop:’barcode.spark.ui.SparkScanToastSettings.CameraTimeoutMessage’ because toast with this message is not displayed anymore due to changes in the SparkScan toast system.:
Deprecated SDCSparkScanViewSettings.targetZoomFactorOut and SDCSparkScanViewSettings.targetZoomFactorIn. Replaced by SDCSparkScanViewSettings.zoomFactorOut and SDCSparkScanViewSettings.zoomFactorIn.:
Deprecated SDCSparkScanViewSettings.continuousCaptureTimeout. Replaced by SDCSparkScanViewSettings.inactiveStateTimeout.:
Deprecated SDCSparkScanViewFeedback, SDCSparkScanFeedback, SDCSparkScanView.brush and SDCSparkScanView.emitFeedback:. These classes and methods are not used anymore. Use SDCSparkScanBarcodeFeedback and SDCSparkScanView.feedbackDelegate.: