Barcode Tracking

Defined in framework ScanditBarcodeCapture

SDCBarcodeTracking
@interface SDCBarcodeTracking : NSObject <SDCDataCaptureMode>

Added in version 6.0.0

Data capture mode that implements MatrixScan (barcode tracking).

Learn more on how to use barcode tracking in our Get Started With MatrixScan guide.

This capture mode uses the barcode scanning and tracking capabilities. It cannot be used together with other capture modes that require the same capabilities, e.g. SDCBarcodeCapture.

+ barcodeTrackingWithContext:settings:
+ (instancetype)barcodeTrackingWithContext:(nullable SDCDataCaptureContext *)context
                                  settings:(nonnull SDCBarcodeTrackingSettings *)settings

Added in version 6.0.0

Constructs a new barcode tracking mode with the provided context and settings. When the context is not nil, the capture mode is automatically added to the context.

+ barcodeTrackingFromJSONString:context:error:
+ (nullable instancetype)barcodeTrackingFromJSONString:(nonnull NSString *)JSONString
                                               context:(nonnull SDCDataCaptureContext *)context
                                                 error:(NSError **)error

Added in version 6.0.0

Constructs a new barcode tracking mode with the provided JSON serialization. See Serialization for details. The capture mode is automatically added to the context.

enabled
@property (nonatomic, assign, getter=isEnabled) BOOL enabled

Added in version 6.0.0

Implemented from SDCDataCaptureMode. See SDCDataCaptureMode.enabled.

- applySettings:completionHandler:
- (void)applySettings:(nonnull SDCBarcodeTrackingSettings *)settings
    completionHandler:(nullable void (^)(void))completionHandler

Added in version 6.0.0

Asynchronously applies the new settings to the barcode scanner. If the scanner is currently running, the task will complete when the next frame is processed, and will use the new settings for that frame. If the scanner is currently not running, the task will complete as soon as the settings have been stored and won’t wait until the next frame is going to be processed.

Same as applySettings:completionHandler: with the second argument set to nil.

- addListener:
- (void)addListener:(nonnull id<SDCBarcodeTrackingListener>)listener

Added in version 6.0.0

Adds the listener to observe this barcode capture instance.

In case the same listener is already observing this instance, calling this method will not add the listener again. The listener is stored using a weak reference and must thus be retained by the caller for it to not go out of scope.

- removeListener:
- (void)removeListener:(nonnull id<SDCBarcodeTrackingListener>)listener

Added in version 6.0.0

Removes a previously added listener from this barcode tracking instance.

In case the listener is not currently observing this instance, calling this method has no effect.

recommendedCameraSettings
@property (class, nonatomic, nonnull, readonly) SDCCameraSettings *recommendedCameraSettings

Added in version 6.1.0

Returns the recommended camera settings for use with barcode tracking.

context
@property (nonatomic, nullable, readonly) SDCDataCaptureContext *context

Added in version 6.0.0

Implemented from SDCDataCaptureMode. See SDCDataCaptureMode.context.

- updateFromJSONString:error:
- (BOOL)updateFromJSONString:(nonnull NSString *)JSONString
                       error:(NSError **)error

Added in version 6.0.0

Updates the mode according to a JSON serialization. See Serialization for details.

barcodeTrackingLicenseInfo
@property (nonatomic, nullable, readonly) SDCBarcodeTrackingLicenseInfo *barcodeTrackingLicenseInfo

Added in version 6.12.0

The object containing information about barcode tracking licensing.

Note

This value is available with a small delay. To make sure it is available, set a SDCDataCaptureContextListener and, as soon as SDCDataCaptureContextListener.context:didAddMode: is called, this license object is available.