Label Capture Session

Defined in framework ScanditLabelCapture

@interface SDCLabelCaptureSession : NSObject

Added in version 6.0.0

Holds the ongoing state of capturing data contained in one or more labels. An instance of this class is passed to SDCLabelCaptureListener.labelCapture:didUpdateSession:frameData: when new labels are captured, or existing labels are updated or lost.


The capture session should only be accessed from within labelCapture:didUpdateSession:frameData: to which it is provided as an argument. It is not safe to be accessed from anywhere else since it may be concurrently modified.

Specifically no reference to capturedLabels should be kept and traversed outside of labelCapture:didUpdateSession:frameData:. Instead a copy of the list should be made to avoid concurrent modification. The individual labels can be referenced without copying as they are not further modified.

@property (nonatomic, nonnull, readonly) NSArray<SDCCapturedLabel *> *capturedLabels

Added in version 6.0.0

List of currently captured labels.

@property (nonatomic, readonly) NSInteger lastProcessedFrameId

Added in version 6.0.0

The identifier of the last processed frame.

@property (nonatomic, readonly) NSInteger frameSequenceId

Added in version 6.1.0

The identifier of the current frame sequence.


As long as there is no interruptions of frames coming from the camera, the frameSequenceId will stay the same, whereas the lastProcessedFrameId will be incremented for every processed frame.

@property (nonatomic, nonnull, readonly) NSString *JSONString

Added in version 6.4.0

Returns the JSON representation of the label capture session.