Protocols

The following protocols are available globally.

  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBIBarcodeOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBIBarcodeOverlayViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBIDebugRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBIDebugRecognizerRunnerDelegate
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBIDebugRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIDebugRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining detection results

    See more

    Declaration

    Objective-C

    @protocol MBIDetectionRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBIDetectionRecognizerRunnerDelegate
  • Protocol for obtaining detection results

    See more

    Declaration

    Objective-C

    @protocol MBIDetectionRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIDetectionRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBIDocumentCaptureOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBIDocumentCaptureOverlayViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

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

    Swift

    protocol MBIEncodeFullDocumentImage
  • Undocumented

    See more

    Declaration

    Objective-C

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

    Swift

    protocol MBIEncodedFullDocumentImageResult
  • Protocol for observing important events with scanning

    See more

    Declaration

    Objective-C

    @protocol MBIFieldByFieldOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBIFieldByFieldOverlayViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBIFrameGrabberRecognizerDelegate <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 {MBIImage} 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:(MBIImage *)cameraFrame isFocused:(BOOL)focused frameQuality:(CGFloat)frameQuality;
    
    @end

    Swift

    protocol MBIFrameGrabberRecognizerDelegate : NSObjectProtocol
  • Protocol for obtaining frame recognition

    See more

    Declaration

    Objective-C

    @protocol MBIFrameRecognitionRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIFrameRecognitionRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

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

    Swift

    protocol MBIFullDocumentImage
  • Undocumented

    See more

    Declaration

    Objective-C

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

    See more

    Declaration

    Objective-C

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

    Swift

    protocol MBIFullDocumentImageResult
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBIGlareRecognizerRunnerDelegate <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 MBIRecognizerRunner *)recognizerRunner didFinishGlareDetectionWithResult:(BOOL)glareFound;
    @end

    Swift

    protocol MBIGlareRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBIGlareRecognizerRunnerViewControllerDelegate <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<MBIRecognizerRunnerViewController> *)recognizerRunnerViewController didFinishGlareDetectionWithResult:(BOOL)glareFound;
    @end

    Swift

    protocol MBIGlareRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBIImageProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBIRecognizerRunner 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 MBIRecognizerRunner *)recognizerRunner didFinishProcessingImage:(nonnull MBIImage *)image;
    
    @end

    Swift

    protocol MBIImageProcessingRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBILoggerDelegate <NSObject>
    
    @optional
    
    - (void)log:(MBILogLevel)level message:(const char *)message;
    - (void)log:(MBILogLevel)level format:(const char *)format arguments:(const char *)arguments;
    
    @end

    Swift

    protocol MBILoggerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

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

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol MBIOcrLayoutSubview <NSObject>

    Swift

    protocol MBIOcrLayoutSubview : NSObjectProtocol
  • Protocol for obtaining ocr results

    See more

    Declaration

    Objective-C

    @protocol MBIOcrRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBIOcrRecognizerRunnerDelegate
  • Protocol for obtaining ocr results

    See more

    Declaration

    Objective-C

    @protocol MBIOcrRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIOcrRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Overlay View Controller also needs to notify CameraViewController on certain events. Those are events specified by MBIOverlayViewControllerDelegate protocol.

    See more

    Declaration

    Objective-C

    @protocol MBIOverlayContainerViewController <MBIRecognizerRunnerViewController>

    Swift

    protocol MBIOverlayContainerViewController : MBIRecognizerRunnerViewController
  • Protocol for processing MBIDisplayablePointsDetection. Subviews implementing this protocol process and draw points on the screen (e.g. flashing dots)

    See more

    Declaration

    Objective-C

    @protocol MBIPointDetectorSubview <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol MBIQuadDetectorSubview <NSObject>

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol MBIRecognizerRunnerViewController <NSObject>

    Swift

    protocol MBIRecognizerRunnerViewController : NSObjectProtocol
  • Protocol for MBIRecognizerRunnerViewController actions

    See more

    Declaration

    Objective-C

    @protocol MBIRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for processing MBIRecognizerResult. 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 MBIResultSubview <NSObject>

    Swift

    protocol MBIResultSubview : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBIScanningRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBIScanningRecognizerRunnerDelegate : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBIScanningRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBIScanningRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBIStringProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBIRecognizerRunner 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 MBIRecognizerRunner *)recognizerRunner didFinishProcessingString:(nonnull NSString *)string;
    
    @end

    Swift

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

    See more

    Declaration

    Objective-C

    @protocol MBISubviewDelegate <NSObject>

    Swift

    protocol MBISubviewDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

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

    Swift

    protocol MBITemplatingClassifier : NSObjectProtocol