Protocols

The following protocols are available globally.

  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBBarcodeOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBBarcodeOverlayViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBBlinkCardOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBBlinkCardOverlayViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBCombinedFullDocumentImageResult
    
    @required
    
    /**
     * front side image of the document if enabled with `MBFullDocumentImage returnFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* fullDocumentFrontImage;
    
    /**
     * back side image of the document if enabled with `MBFullDocumentImage returnFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* fullDocumentBackImage;
    
    @end

    Swift

    protocol MBCombinedFullDocumentImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBCombinedRecognizerResult
    
    @required
    
    /**
     * Returns YES if data from scanned parts/sides of the document match,
     * NO otherwise. For example if date of expiry is scanned from the front and back side
     * of the document and values do not match, this method will return NO. Result will
     * be YES only if scanned values for all fields that are compared are the same.
     */
    @property (nonatomic, readonly, assign) BOOL documentDataMatch;
    
    /**
     * Returns YES if recognizer has finished scanning first side and is now scanning back side,
     * NO if it's still scanning first side.
     */
    @property (nonatomic, readonly, assign) BOOL scanningFirstSideDone;
    
    @end

    Swift

    protocol MBCombinedRecognizerResult
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBDebugRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBDebugRecognizerRunnerDelegate
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBDebugRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBDebugRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining detection results

    See more

    Declaration

    Objective-C

    @protocol MBDetectionRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBDetectionRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBDigitalSignature
    
    @required
    
    /**
     * Whether or not recognition result should be signed.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL signResult;
    
    @end

    Swift

    protocol MBDigitalSignature
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBDigitalSignatureResult
    
    @required
    
    /**
     * Digital signature of the recognition result. Available only if enabled with `MBDigitalSignature signResult` property.
     */
    @property (nonatomic, readonly, nullable) NSData* digitalSignature;
    
    /**
     * Version of the digital signature. Available only if enabled with `MBDigitalSignature signResult` property.
     */
    @property (nonatomic, readonly) NSUInteger digitalSignatureVersion;
    
    @end

    Swift

    protocol MBDigitalSignatureResult
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBDocumentOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBDocumentOverlayViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodeFaceImage
    
    @required
    
    /**
     * Sets whether face image should be extracted from document and JPEG-encoded.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL encodeFaceImage;
    
    @end

    Swift

    protocol MBEncodeFaceImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodeFullDocumentImage
    
    @required
    
    /**
     * Sets whether full document image should be extracted and JPEG-encoded.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL encodeFullDocumentImage;
    
    @end

    Swift

    protocol MBEncodeFullDocumentImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodeMrzImage
    
    @required
    
    /**
     * Sets whether MRZ image should be extracted from document and JPEG-encoded.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL encodeMrzImage;
    
    @end

    Swift

    protocol MBEncodeMrzImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodeSignatureImage
    
    @required
    
    /**
     * Sets whether image of signature on document should be extracted and JPEG-encoded.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL encodeSignatureImage;
    
    @end

    Swift

    protocol MBEncodeSignatureImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodedCombinedFullDocumentImageResult
    
    @required
    
    /**
     * JPEG-encoded full document image of the front side of the document. Available only if enabled with `MBEncodeFullDocumentImage encodeFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedFullDocumentFrontImage;
    
    /**
     * JPEG-encoded full document image of the back side of the document. Available only if enabled with `MBEncodeFullDocumentImage encodeFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedFullDocumentBackImage;
    
    @end

    Swift

    protocol MBEncodedCombinedFullDocumentImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodedFaceImageResult
    
    @required
    
    /**
     * JPEG-encoded face image from the document if enabled with `MBEncodeFaceImage encodeFaceImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedFaceImage;
    
    @end

    Swift

    protocol MBEncodedFaceImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodedFullDocumentImageResult
    
    @required
    
    /**
     * JPEG-encoded full document image if enabled with `MBEncodeFullDocumentImage encodeFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedFullDocumentImage;
    
    @end

    Swift

    protocol MBEncodedFullDocumentImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodedMrzImageResult
    
    @required
    
    /**
     * JPEG-encoded MRZ image from the document if enabled with `MBEncodeMrzImage encodeMrzImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedMrzImage;
    
    @end

    Swift

    protocol MBEncodedMrzImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBEncodedSignatureImageResult
    
    @required
    
    /**
     * JPEG-encoded image of the signature from the document. Available only if enabled with `MBEncodeSignatureImage encodeSignatureImage` property.
     */
    @property (nonatomic, readonly, nullable) NSData* encodedSignatureImage;
    
    @end

    Swift

    protocol MBEncodedSignatureImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFaceImage
    
    @required
    
    /**
     * Sets whether face image from ID card should be extracted
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL returnFaceImage;
    
    @end

    Swift

    protocol MBFaceImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFaceImageDpi
    
    @required
    
    /**
     * Property for setting DPI for face images
     * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
     *
     * Default: 250
     */
    @property (nonatomic, assign) NSUInteger faceImageDpi;
    
    @end

    Swift

    protocol MBFaceImageDpi
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFaceImageResult
    
    @required
    
    /**
     * face image from the document if enabled with `MBFaceImage returnFaceImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* faceImage;
    
    @end

    Swift

    protocol MBFaceImageResult
  • Protocol for observing important events with scanning

    See more

    Declaration

    Objective-C

    @protocol MBFieldByFieldOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBFieldByFieldOverlayViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFirstSideFinishedRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when scanning library finishes performing recognition of the first side of the document.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunnerDidFinishRecognitionOfFirstSide:(nonnull MBRecognizerRunner *)recognizerRunner;
    
    @end

    Swift

    protocol MBFirstSideFinishedRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFirstSideFinishedRecognizerRunnerViewControllerDelegate <NSObject>
    @required
    
    /**
     * Called when scanning library finishes performing recognition of the first side of the document.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunnerViewControllerDidFinishRecognitionOfFirstSide:(nonnull UIViewController<MBRecognizerRunnerViewController> *)recognizerRunnerViewController;
    
    @end

    Swift

    protocol MBFirstSideFinishedRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFrameGrabberRecognizerDelegate <NSObject>
    @required
    /**
     * Called when {FrameGrabberRecognizer} received new frame for processing.
     * Note that all buffers associated with image are available only during life of this method.
     * As soon as this method exits, there is no guarantee that buffers will be valid. If you need
     * to store image for later processing, showing or saving, make sure you create a copy of it.
     * @param cameraFrame The {PPImage} containing frame that will be processed.
     * @param focused Information whether or not given frame is considered to be in focus. This
     *                  information is calculated on the basis of frame quality estimation algorithm
     *                  combined with information about actual frame that was provided by camera device.
     * @param frameQuality A number indicating calculated quality of given frame. This number is
     *                     non-negative, however it's maximum is not defined - the higher the number
     *                     is, the better the observed quality of frame is.
     */
    - (void)onFrameAvailable:(MBImage *)cameraFrame isFocused:(BOOL)focused frameQuality:(CGFloat)frameQuality;
    
    @end

    Swift

    protocol MBFrameGrabberRecognizerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFullDocumentImage
    
    @required
    
    /**
     * Sets whether full document image of ID card should be extracted.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL returnFullDocumentImage;
    
    @end

    Swift

    protocol MBFullDocumentImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFullDocumentImageDpi
    
    @required
    
    /**
     * Property for setting DPI for full document images
     * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
     *
     * Default: 250
     */
    @property (nonatomic, assign) NSUInteger fullDocumentImageDpi;
    
    @end

    Swift

    protocol MBFullDocumentImageDpi
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFullDocumentImageExtensionFactors
    
    @required
    
    /**
     * Image extension factors for full document image.
     *
     * @see MBImageExtensionFactors
     * Default: {0.0f, 0.0f, 0.0f, 0.0f}
     */
    @property (nonatomic, assign) MBImageExtensionFactors fullDocumentImageExtensionFactors;
    
    @end
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBFullDocumentImageResult
    
    @required
    
    /**
     * full document image if enabled with `MBFullDocumentImage returnFullDocumentImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* fullDocumentImage;
    
    @end

    Swift

    protocol MBFullDocumentImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBGlareDetection
    
    @required
    
    /**
     * Defines if glare detection should be turned on/off.
     *
     * Default: YES
     */
    @property (nonatomic, assign) BOOL detectGlare;
    
    @end

    Swift

    protocol MBGlareDetection
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBGlareRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when scanning library finishes glare detection.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunner:(nonnull MBRecognizerRunner *)recognizerRunner didFinishGlareDetectionWithResult:(BOOL)glareFound;
    @end

    Swift

    protocol MBGlareRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBGlareRecognizerRunnerViewControllerDelegate <NSObject>
    @required
    
    /**
     * Called when scanning library finishes glare detection.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunnerViewController:(nonnull UIViewController<MBRecognizerRunnerViewController> *)recognizerRunnerViewController didFinishGlareDetectionWithResult:(BOOL)glareFound;
    @end

    Swift

    protocol MBGlareRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBImageProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBRecognizerRunner finishes processing given image.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunner:(nonnull MBRecognizerRunner *)recognizerRunner didFinishProcessingImage:(nonnull MBImage *)image;
    
    @end

    Swift

    protocol MBImageProcessingRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBMrzFilter <NSObject>
    @required
    /**
     * Determines whether document should be processed or it is filtered out.
     * @return YES if the document with the given MRZ should be processed, NO if the document
     * should be filtered out.
     */
    - (BOOL)mrzFilter;
    @end

    Swift

    protocol MBMrzFilter : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBMrzImage
    
    @required
    
    /**
     * Sets whether MRZ image from ID card should be extracted
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL returnMrzImage;
    
    @end

    Swift

    protocol MBMrzImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBMrzImageDpi
    
    @required
    
    /**
     * Property for setting DPI for mrz images
     * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
     *
     * Default: 250
     */
    @property (nonatomic, assign) NSUInteger mrzImageDpi;
    
    @end

    Swift

    protocol MBMrzImageDpi
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBMrzImageResult
    
    @required
    
    /**
     * face image from the document if enabled with `MBMrzImage returnMrzImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* mrzImage;
    
    @end

    Swift

    protocol MBMrzImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBNativeResult
    
    /**
     * Returns the native object containing the result. For example, for MBDateResult, this method
     * will return NSDate object.
     */
    - (NSObject *_Nullable)nativeResult;
    
    /**
     * Returns the string version of the result. For example, for MBDateResult, this method
     * will return original string from which date was parsed (same as MBDateResult's originalDateString property}.
     */
    - (NSString *_Nullable)stringResult;
    
    @end

    Swift

    protocol MBNativeResult
  • Protocol for processing MBOcrLayout. Subviews implementing this protocol process and draw layout data on the screen (e.g. dots or OCR characters)

    See more

    Declaration

    Objective-C

    @protocol MBOcrLayoutSubview <NSObject>

    Swift

    protocol MBOcrLayoutSubview : NSObjectProtocol
  • Protocol for obtaining ocr results

    See more

    Declaration

    Objective-C

    @protocol MBOcrRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBOcrRecognizerRunnerDelegate
  • Protocol for obtaining ocr results

    See more

    Declaration

    Objective-C

    @protocol MBOcrRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBOcrRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for processing MBDisplayablePointsDetection. Subviews implementing this protocol process and draw points on the screen (e.g. flashing dots)

    See more

    Declaration

    Objective-C

    @protocol MBPointDetectorSubview <NSObject>

    Swift

    protocol MBPointDetectorSubview : NSObjectProtocol
  • Protocol for processing MBDisplayableQuadDetection. Subviews implementing this protocol process and draw quad on the screen (e.g. viewfinder drawing document outlining)

    See more

    Declaration

    Objective-C

    @protocol MBQuadDetectorSubview <NSObject>

    Swift

    protocol MBQuadDetectorSubview : NSObjectProtocol
  • Protocol for View controllers which present camera and provide scanning features

    See more

    Declaration

    Objective-C

    @protocol MBRecognizerRunnerViewController <NSObject>

    Swift

    protocol MBRecognizerRunnerViewController : NSObjectProtocol
  • Protocol for MBRecognizerRunnerViewController actions

    See more

    Declaration

    Objective-C

    @protocol MBRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for processing MBRecognizerResult. Subviews implementing this protocol process and draw result data on the screen (e.g. letting users know is scanning was successful)

    See more

    Declaration

    Objective-C

    @protocol MBResultSubview <NSObject>

    Swift

    protocol MBResultSubview : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBScanningRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBScanningRecognizerRunnerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBSignatureImage
    
    @required
    
    /**
     * Sets whether signature image from ID card should be extracted.
     *
     * Default: NO
     */
    @property (nonatomic, assign) BOOL returnSignatureImage;
    
    @end

    Swift

    protocol MBSignatureImage
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBSignatureImageDpi
    
    @required
    
    /**
     * Property for setting DPI for signature images
     * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
     *
     * Default: 250
     */
    @property (nonatomic, assign) NSUInteger signatureImageDpi;
    
    @end

    Swift

    protocol MBSignatureImageDpi
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBSignatureImageResult
    
    @required
    
    /**
     * image of the signature if enabled with `MBSignatureImage returnSignatureImage` property.
     */
    @property (nonatomic, readonly, nullable) MBImage* signatureImage;
    
    @end

    Swift

    protocol MBSignatureImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBStringProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBRecognizerRunner finishes processing given string.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void)recognizerRunner:(nonnull MBRecognizerRunner *)recognizerRunner didFinishProcessingString:(nonnull NSString *)string;
    
    @end

    Swift

    protocol MBStringProcessingRecognizerRunnerDelegate
  • Protocol which all objects interested in receiving information about overlay subviews need to implement

    See more

    Declaration

    Objective-C

    @protocol MBSubviewDelegate <NSObject>

    Swift

    protocol MBSubviewDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBTemplatingClassifier <NSObject>
    @required
    
    - (BOOL)classify;
    @end

    Swift

    protocol MBTemplatingClassifier : NSObjectProtocol