diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55d72839c..a677f390e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,37 @@
# Release notes
+## 4.10.0
+
+- Updates and additions:
+ - added `MBBlinkIdRecognizer` for scanning front side of ID cards and `MBBlinkIdCombinedRecognizer` for combined scanning of front and back side of ID cards
+ - for now, these recognizers classify and extract data from **87** different classes of **United States driver's licenses** (front and back side)
+ - in the upcoming releases, we are planning to add support for more document types from different countries
+ - completely new UX for scanning ID cards with scan overlay view controller: `MBBlinkIdOverlayViewController`:
+ - best suited for scanning with `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer`
+ - other single side and combined document recognizers are also supported
+- added support for reading back side of Nigerian Voter ID card - use `MBNigeriaVoterIdBackRecognizer`
+
+- Improvements in ID scanning performance:
+ - improved `MBRomaniaIdFrontRecognizer`
+ - now extracts `CNP` number
+ - improved `MBSloveniaIdFrontRecognizer` and `MBloveniaCombinedRecognizer`:
+ - return boolean flag which indicates whether **date of expiry** is permanent - use `dateOfExpiryPermanent`
+ - improved `MBGermanyPassportRecognizer`:
+ - better passport classification
+ - improved `MBColombiaIdFrontRecognizer`:
+ - support for document number in format 1-3-3
+ - improved `MBSlovakiaIdFrontRecognizer`:
+ - support for German letters
+ - Malaysia:
+ - `MBMalaysiaMyTenteraFrontRecognizer` supports 6-digit army number
+ - `MBMalaysiaIkadFrontRecognizer` - better extraction of the following fields (DeepOCR support): date of birth, sector, employer, address and date of expiry
+ - United Arab Emirates:
+ - glare detection is disabled by default for `MBUnitedArabEmiratesIdFrontRecognizer` and `MBUnitedArabEmiratesIdBackRecognizer`
+ - `MBUnitedArabEmiratesIdBackRecognizer` - optimized detection for black backgrounds
+
+- Bugfixes:
+ - fixed bug in `MBBlinkCardOverlayViewController` which caused memory issues
+
## 4.9.1
- Bugfixes:
diff --git a/Microblink.bundle/BlinkID_Analyzer_general_6.0.0.strop b/Microblink.bundle/BlinkID_Analyzer_general_6.0.0.strop
new file mode 100644
index 000000000..1086a7154
Binary files /dev/null and b/Microblink.bundle/BlinkID_Analyzer_general_6.0.0.strop differ
diff --git a/Microblink.bundle/BlinkID_Classifier_general_6.3.0.strop b/Microblink.bundle/BlinkID_Classifier_general_6.3.0.strop
new file mode 100644
index 000000000..001aec76a
Binary files /dev/null and b/Microblink.bundle/BlinkID_Classifier_general_6.3.0.strop differ
diff --git a/Microblink.bundle/BlinkID_CreditCardOcr_general_6.2.0.strop b/Microblink.bundle/BlinkID_CreditCardOcr_general_6.2.0.strop
new file mode 100644
index 000000000..c0682a60c
Binary files /dev/null and b/Microblink.bundle/BlinkID_CreditCardOcr_general_6.2.0.strop differ
diff --git a/Microblink.bundle/BlinkID_Detector_general_6.3.1.strop b/Microblink.bundle/BlinkID_Detector_general_6.3.1.strop
new file mode 100644
index 000000000..9ff88957f
Binary files /dev/null and b/Microblink.bundle/BlinkID_Detector_general_6.3.1.strop differ
diff --git a/Microblink.bundle/BlinkID_Ocr_general_6.2.0.strop b/Microblink.bundle/BlinkID_Ocr_general_6.2.0.strop
new file mode 100644
index 000000000..e6e5b59e6
Binary files /dev/null and b/Microblink.bundle/BlinkID_Ocr_general_6.2.0.strop differ
diff --git a/Microblink.bundle/BlinkID_Ocr_mrz_6.2.0.strop b/Microblink.bundle/BlinkID_Ocr_mrz_6.2.0.strop
new file mode 100644
index 000000000..e2f4a5d65
Binary files /dev/null and b/Microblink.bundle/BlinkID_Ocr_mrz_6.2.0.strop differ
diff --git a/Microblink.bundle/BlinkID_Ocr_usa_6.1.0.strop b/Microblink.bundle/BlinkID_Ocr_usa_6.1.0.strop
new file mode 100644
index 000000000..bef4e4351
Binary files /dev/null and b/Microblink.bundle/BlinkID_Ocr_usa_6.1.0.strop differ
diff --git a/Microblink.bundle/BlinkID_Segmentator_general_6.1.0.strop b/Microblink.bundle/BlinkID_Segmentator_general_6.1.0.strop
new file mode 100644
index 000000000..3f567dacf
Binary files /dev/null and b/Microblink.bundle/BlinkID_Segmentator_general_6.1.0.strop differ
diff --git a/Microblink.bundle/BlinkOCR_Ocr_general_6.1.0.strop b/Microblink.bundle/BlinkOCR_Ocr_general_6.1.0.strop
new file mode 100644
index 000000000..7198a3cf6
Binary files /dev/null and b/Microblink.bundle/BlinkOCR_Ocr_general_6.1.0.strop differ
diff --git a/Microblink.bundle/Info.plist b/Microblink.bundle/Info.plist
index 2756a17c2..f605f8f0c 100644
Binary files a/Microblink.bundle/Info.plist and b/Microblink.bundle/Info.plist differ
diff --git a/Microblink.bundle/blinkIdBack.png b/Microblink.bundle/blinkIdBack.png
new file mode 100644
index 000000000..fed0fdfa2
Binary files /dev/null and b/Microblink.bundle/blinkIdBack.png differ
diff --git a/Microblink.bundle/blinkIdBack@2x.png b/Microblink.bundle/blinkIdBack@2x.png
new file mode 100644
index 000000000..40fb7e97b
Binary files /dev/null and b/Microblink.bundle/blinkIdBack@2x.png differ
diff --git a/Microblink.bundle/blinkIdBack@3x.png b/Microblink.bundle/blinkIdBack@3x.png
new file mode 100644
index 000000000..aee9ef296
Binary files /dev/null and b/Microblink.bundle/blinkIdBack@3x.png differ
diff --git a/Microblink.bundle/blinkIdFront.png b/Microblink.bundle/blinkIdFront.png
new file mode 100644
index 000000000..d3e0b1973
Binary files /dev/null and b/Microblink.bundle/blinkIdFront.png differ
diff --git a/Microblink.bundle/blinkIdFront@2x.png b/Microblink.bundle/blinkIdFront@2x.png
new file mode 100644
index 000000000..b83de691c
Binary files /dev/null and b/Microblink.bundle/blinkIdFront@2x.png differ
diff --git a/Microblink.bundle/blinkIdFront@3x.png b/Microblink.bundle/blinkIdFront@3x.png
new file mode 100644
index 000000000..953b89aab
Binary files /dev/null and b/Microblink.bundle/blinkIdFront@3x.png differ
diff --git a/Microblink.bundle/confirmationBlinkId.png b/Microblink.bundle/confirmationBlinkId.png
new file mode 100644
index 000000000..4885cc3e0
Binary files /dev/null and b/Microblink.bundle/confirmationBlinkId.png differ
diff --git a/Microblink.bundle/confirmationBlinkId@2x.png b/Microblink.bundle/confirmationBlinkId@2x.png
new file mode 100644
index 000000000..59d52c44a
Binary files /dev/null and b/Microblink.bundle/confirmationBlinkId@2x.png differ
diff --git a/Microblink.bundle/confirmationBlinkId@3x.png b/Microblink.bundle/confirmationBlinkId@3x.png
new file mode 100644
index 000000000..62dc7dc7d
Binary files /dev/null and b/Microblink.bundle/confirmationBlinkId@3x.png differ
diff --git a/Microblink.bundle/en.strings b/Microblink.bundle/en.strings
index 73a500785..cb691c713 100644
--- a/Microblink.bundle/en.strings
+++ b/Microblink.bundle/en.strings
@@ -21,3 +21,18 @@
"photopay_front_splash_verification_document" = "Document front side";
"photopay_back_splash_verification_document" = "Document back side";
"photopay_done_splash_verification_document" = "Document scanning done";
+
+"blinkid_generic_message" = "Scan the front side of a document";
+"blinkid_not_supported_title" = "Document not recognized";
+"blinkid_not_supported_message" = "Scan the front side of a supported document.";
+"blinkid_not_supported_action" = "Retry";
+
+"blinkid_sides_dont_match_title" = "Sides don't match";
+"blinkid_sides_dont_match_message" = "Please start the scanning process over.";
+
+"blinkid_first_side_scanned_message" = "Flip the card";
+
+"blinkid_too_near_error_message" = "Move farther";
+"blinkid_too_far_error_message" = "Move closer";
+"blinkid_scan_unsuccessful_error_title" = "Scan unsuccessful";
+"blinkid_scan_unsuccessful_error_message" = "Unable to read the document. Please try again.";
diff --git a/Microblink.bundle/hr.strings b/Microblink.bundle/hr.strings
new file mode 100644
index 000000000..ec43ad12b
--- /dev/null
+++ b/Microblink.bundle/hr.strings
@@ -0,0 +1,39 @@
+/*
+ en.strings
+ BlinkOCR
+
+ Created by Jura on 12/03/15.
+ Copyright (c) 2015 MicroBlink. All rights reserved.
+*/
+
+"photopay_close" = "Cancel";
+"photopay_light_on" = "Light";
+"photopay_light_off" = "Light";
+"photopay_camera_permission_denied" = "{font:@Medium}%@{/font} does not have permission to use the camera.\n\nPlease go to:\n• {font:@Medium}Settings{/font}\n• {font:@Medium}%@{/font}\n• Make sure that {font:@Medium}Camera{/font} is enabled";
+"photopay_id_position_tooltip" = "Position ID card in this Frame";
+"photopay_glare_status" = "Slightly move ID to eliminate glare.";
+"blink_card_front_message" = "Scan the front side.";
+"blink_card_back_message" = "Scan the back side.";
+"blink_card_done_message" = "Done scanning.";
+
+"photopay_front_verification_document" = "Place the front side of the document in the frame and wait for automatic scan.";
+"photopay_back_verification_document" = "Place the back side of the document in the frame and wait for automatic scan.";
+"photopay_front_splash_verification_document" = "Document front side";
+"photopay_back_splash_verification_document" = "Document back side";
+"photopay_done_splash_verification_document" = "Document scanning done";
+
+"blinkid_generic_message" = "Skenirajte prednju stranu dokumenta";
+"blinkid_not_supported_title" = "Nepoznat dokument";
+"blinkid_not_supported_message" = "Ponovite skeniranje prednje strane podržanog dokumenta.";
+"blinkid_not_supported_action" = "U redu";
+
+"blinkid_sides_dont_match_title" = "Podaci se ne podudaraju";
+"blinkid_sides_dont_match_message" = "Molimo ponovno skenirajte prednju i stražnju stranu istog dokumenta.";
+
+"blinkid_first_side_scanned_message" = "Okrenite dokument";
+
+"blinkid_too_near_error_message" = "Udaljite dokument";
+"blinkid_too_far_error_message" = "Približite dokument";
+"blinkid_scan_unsuccessful_error_title" = "Skeniranje nije uspjelo";
+"blinkid_scan_unsuccessful_error_message" = "Dokument nije moguće očitati. Molimo pokušajte ponovno.";
+
diff --git a/Microblink.bundle/nn_model_BlinkCreditCardOcr_general_5.2.0.zzip b/Microblink.bundle/nn_model_BlinkCreditCardOcr_general_5.2.0.zzip
deleted file mode 100644
index c3cf3ff1b..000000000
Binary files a/Microblink.bundle/nn_model_BlinkCreditCardOcr_general_5.2.0.zzip and /dev/null differ
diff --git a/Microblink.bundle/nn_model_BlinkIDOcr_general_5.2.0.zzip b/Microblink.bundle/nn_model_BlinkIDOcr_general_5.2.0.zzip
deleted file mode 100644
index 5bd69c0ac..000000000
Binary files a/Microblink.bundle/nn_model_BlinkIDOcr_general_5.2.0.zzip and /dev/null differ
diff --git a/Microblink.bundle/nn_model_BlinkIDOcr_mrz_5.2.0.zzip b/Microblink.bundle/nn_model_BlinkIDOcr_mrz_5.2.0.zzip
deleted file mode 100644
index cc4b3fc4b..000000000
Binary files a/Microblink.bundle/nn_model_BlinkIDOcr_mrz_5.2.0.zzip and /dev/null differ
diff --git a/Microblink.bundle/nn_model_BlinkInputOcr_general_5.1.0.zzip b/Microblink.bundle/nn_model_BlinkInputOcr_general_5.1.0.zzip
deleted file mode 100644
index 1e0309ad3..000000000
Binary files a/Microblink.bundle/nn_model_BlinkInputOcr_general_5.1.0.zzip and /dev/null differ
diff --git a/Microblink.framework/Headers/MBAustriaIdFrontRecognizer.h b/Microblink.framework/Headers/MBAustriaIdFrontRecognizer.h
index f4fe51bb0..bd7076e2f 100644
--- a/Microblink.framework/Headers/MBAustriaIdFrontRecognizer.h
+++ b/Microblink.framework/Headers/MBAustriaIdFrontRecognizer.h
@@ -5,7 +5,6 @@
// Created by Dino Gustin on 22/05/2018.
//
-#import "MBLegacyRecognizer.h"
#import "MBAustriaIdFrontRecognizerResult.h"
#import
diff --git a/Microblink.framework/Headers/MBBlinkIDEntities.h b/Microblink.framework/Headers/MBBlinkIDEntities.h
index d25ca7bb0..8cec69fe0 100644
--- a/Microblink.framework/Headers/MBBlinkIDEntities.h
+++ b/Microblink.framework/Headers/MBBlinkIDEntities.h
@@ -91,6 +91,12 @@
#import "MBEudlRecognizer.h"
#import "MBEudlRecognizerResult.h"
+// Generic
+#import "MBBlinkIdRecognizer.h"
+#import "MBBlinkIdRecognizerResult.h"
+#import "MBBlinkIdCombinedRecognizer.h"
+#import "MBBlinkIdCombinedRecognizerResult.h"
+
// Germany
#import "MBGermanyIdBackRecognizer.h"
#import "MBGermanyIdBackRecognizerResult.h"
@@ -173,6 +179,10 @@
#import "MBNewZealandDlFrontRecognizer.h"
#import "MBNewZealandDlFrontRecognizerResult.h"
+// Nigeria
+#import "MBNigeriaVoterIdBackRecognizer.h"
+#import "MBNigeriaVoterIdBackRecognizerResult.h"
+
// Passport
#import "MBPassportRecognizer.h"
#import "MBPassportRecognizerResult.h"
diff --git a/Microblink.framework/Headers/MBBlinkIDUIComponents.h b/Microblink.framework/Headers/MBBlinkIDUIComponents.h
index 68a777e46..0e5a22e36 100644
--- a/Microblink.framework/Headers/MBBlinkIDUIComponents.h
+++ b/Microblink.framework/Headers/MBBlinkIDUIComponents.h
@@ -12,14 +12,19 @@
// Overlay delegates
#import "MBDocumentOverlayViewControllerDelegate.h"
#import "MBDocumentVerificationOverlayViewControllerDelegate.h"
+#import "MBBlinkIdOverlayViewControllerDelegate.h"
// Overlays
#import "MBDocumentOverlayViewController.h"
#import "MBDocumentOverlaySettings.h"
#import "MBDocumentVerificationOverlayViewController.h"
#import "MBDocumentVerificationOverlaySettings.h"
+#import "MBBlinkIdOverlayViewController.h"
+#import "MBBlinkIdOverlaySettings.h"
// Overlay subviews
#import "MBDocumentSubview.h"
#import "MBDocumentVerificationSubview.h"
#import "MBDocumentVerificationInstructionsSubview.h"
+#import "MBCameraReticle.h"
+#import "MBErrorReticle.h"
diff --git a/Microblink.framework/Headers/MBBlinkIdCombinedRecognizer.h b/Microblink.framework/Headers/MBBlinkIdCombinedRecognizer.h
new file mode 100644
index 000000000..c7d759a24
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdCombinedRecognizer.h
@@ -0,0 +1,58 @@
+//
+// MBBlinkIdCombinedRecognizer.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 18/06/2019.
+//
+
+#import "MBRecognizer.h"
+#import "MBBlinkIdCombinedRecognizerResult.h"
+
+#import "MBCombinedRecognizer.h"
+#import "MBDigitalSignature.h"
+
+#import "MBFaceImage.h"
+#import "MBEncodeFaceImage.h"
+#import "MBFaceImageDpi.h"
+#import "MBFullDocumentImage.h"
+#import "MBEncodeFullDocumentImage.h"
+#import "MBFullDocumentImageDpi.h"
+#import "MBFullDocumentImageExtensionFactors.h"
+
+@protocol MBBlinkIdCombinedRecognizerDelegate;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Recognizer which can scan front and back side of the United States driver license.
+ */
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBBlinkIdCombinedRecognizer : MBRecognizer
+
+MB_INIT
+
+/**
+ * Result of scanning BlinkIDCombinedRecognizer
+ */
+@property (nonatomic, strong, readonly) MBBlinkIdCombinedRecognizerResult *result;
+
+/**
+ * Called with dewarped full document image
+ */
+- (void)setDewarpedImageDelegate:(nullable id)delegate;
+
+/**
+ * Called when document is not supported
+ */
+- (void)setClassifierDelegate:(nullable id)delegate;
+
+@end
+
+@protocol MBBlinkIdCombinedRecognizerDelegate
+@optional
+- (void)onCombinedImageAvailable:(nullable MBImage *)dewarpedImage;
+- (void)onCombinedDocumentSupportStatus:(BOOL)isDocumentSupported;
+@end
+
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdCombinedRecognizerResult.h b/Microblink.framework/Headers/MBBlinkIdCombinedRecognizerResult.h
new file mode 100644
index 000000000..d3197c8b3
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdCombinedRecognizerResult.h
@@ -0,0 +1,83 @@
+//
+// MBBlinkIdCombinedRecognizerResult.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 18/06/2019.
+//
+
+#import "MBRecognizerResult.h"
+#import "MBDateResult.h"
+
+#import "MBCombinedRecognizerResult.h"
+#import "MBDigitalSignatureResult.h"
+
+#import "MBFaceImageResult.h"
+#import "MBEncodedFaceImageResult.h"
+#import "MBFullDocumentImageResult.h"
+#import "MBEncodedFullDocumentImageResult.h"
+
+#import "MBDriverLicenseDetailedInfo.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Recognizer which can scan front and back side of the United States driver license.
+ */
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBBlinkIdCombinedRecognizerResult : MBRecognizerResult
+
+MB_INIT_UNAVAILABLE
+
+/**
+ * The address of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *address;
+
+/**
+ * The date of birth of the document owner.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfBirth;
+
+/**
+ * The date of expiry of the document.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfExpiry;
+
+/**
+ * The date of issue of the document.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfIssue;
+
+/**
+ * The document number.
+ */
+@property (nonatomic, readonly, nullable) NSString *documentNumber;
+
+/**
+ * The first name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *firstName;
+
+/**
+ * The full name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *fullName;
+
+/**
+ * The last name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *lastName;
+
+/**
+ * The sex of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *sex;
+
+/**
+ * The driver license detailed info.
+ */
+@property (nonatomic, readonly, nullable) MBDriverLicenseDetailedInfo *driverLicenseDetailedInfo;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdOverlaySettings.h b/Microblink.framework/Headers/MBBlinkIdOverlaySettings.h
new file mode 100644
index 000000000..70057be52
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdOverlaySettings.h
@@ -0,0 +1,34 @@
+//
+// MBBlinkIdOverlaySettings.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 03/06/2019.
+//
+
+#import "MBBaseOverlaySettings.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Settings class containing parameters for BlinkId UI
+ */
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBBlinkIdOverlaySettings : MBBaseOverlaySettings
+
+/**
+ * If YES, MBBlinkIdCombinedRecognizer will check if sides do match when scanning is finished
+ *
+ * Default: YES
+ */
+@property(nonatomic, assign) BOOL requireDocumentSidesDataMatch;
+
+/**
+ * Designated initializer. Initializes the object with default settings.
+ *
+ * @return object initialized with default values.
+ */
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdOverlayViewController.h b/Microblink.framework/Headers/MBBlinkIdOverlayViewController.h
new file mode 100644
index 000000000..ae3667986
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdOverlayViewController.h
@@ -0,0 +1,46 @@
+//
+// MBBlinkIdOverlayViewController.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 03/06/2019.
+//
+
+#import "MBBaseOverlayViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol MBBlinkIdOverlayViewControllerDelegate;
+
+@class MBBlinkIdOverlaySettings;
+@class MBRecognizerCollection;
+
+/**
+ * Default version of overlay view controller with modern design.
+ */
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBBlinkIdOverlayViewController : MBBaseOverlayViewController
+
+/**
+ * Common BlinkId UI settings
+ */
+@property (nonatomic, readonly) MBBlinkIdOverlaySettings *settings;
+
+/**
+ * Delegate
+ */
+@property (nonatomic, weak, readonly) id delegate;
+
+/**
+ * Designated intializer.
+ *
+ * @param settings MBBlinkIdOverlaySettings object
+ *
+ * @param recognizerCollection MBRecognizerCollection object
+ *
+ * @return initialized overlayViewController
+ */
+- (instancetype)initWithSettings:(MBBlinkIdOverlaySettings *)settings recognizerCollection:(MBRecognizerCollection *)recognizerCollection delegate:(nonnull id)delegate;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdOverlayViewControllerDelegate.h b/Microblink.framework/Headers/MBBlinkIdOverlayViewControllerDelegate.h
new file mode 100644
index 000000000..34f4a0283
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdOverlayViewControllerDelegate.h
@@ -0,0 +1,57 @@
+//
+// MBBlinkIdOverlayViewControllerDelegate.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 03/06/2019.
+//
+
+#import
+#import "MBBlinkIdOverlayViewController.h"
+#import "MBRecognizerRunnerViewController.h"
+#import "MBRecognizerResult.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Protocol for obtaining scanning results
+ */
+@protocol MBBlinkIdOverlayViewControllerDelegate
+@required
+/**
+ * Scanning library did output scanning results
+ *
+ * Depending on how you want to treat the result, you might want to
+ * dismiss the scanningViewController here.
+ *
+ * This method is the default way for getting access to results of scanning.
+ *
+ * Note:
+ * - there may be 0, 1, or more than one scanning results.
+ * - each scanning result belongs to a common MBRecognizerResult type
+ * - handle different types differently
+ *
+ * @param blinkIdOverlayViewController blinkIdOverlayViewController Scanning view controller responsible for scanning
+ * @param state state of scanning
+ *
+ *
+ */
+- (void)blinkIdOverlayViewControllerDidFinishScanning:(nonnull MBBlinkIdOverlayViewController *)blinkIdOverlayViewController state:(MBRecognizerResultState)state;
+
+/**
+ * Scanning library was closed, usually by the user pressing close button and cancelling the scan
+ *
+ * @param blinkIdOverlayViewController Scanning view controller responsible for scanning
+ */
+- (void)blinkIdOverlayViewControllerDidTapClose:(nonnull MBBlinkIdOverlayViewController *)blinkIdOverlayViewController;
+
+@optional
+/**
+ * Called when scanning library finished scanning first side of the document
+ *
+ * @param blinkIdOverlayViewController blinkIdOverlayViewController Scanning view controller responsible for scanning
+ */
+- (void)blinkIdOverlayViewControllerDidFinishScanningFirstSide:(nonnull MBBlinkIdOverlayViewController *)blinkIdOverlayViewController;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdRecognizer.h b/Microblink.framework/Headers/MBBlinkIdRecognizer.h
new file mode 100644
index 000000000..eadb1b1e7
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdRecognizer.h
@@ -0,0 +1,54 @@
+//
+// MBBlinkIDRecognizer.h
+//
+// Created by juraskrlec on 06/05/2019
+// Copyright © Microblink Ltd. All rights reserved.
+//
+
+#import "MBRecognizer.h"
+#import "MBBlinkIdRecognizerResult.h"
+
+#import "MBFaceImage.h"
+#import "MBEncodeFaceImage.h"
+#import "MBFaceImageDpi.h"
+#import "MBFullDocumentImage.h"
+#import "MBEncodeFullDocumentImage.h"
+#import "MBFullDocumentImageDpi.h"
+#import "MBFullDocumentImageExtensionFactors.h"
+
+@protocol MBBlinkIdRecognizerDelegate;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+* The Blink ID Recognizer is used for scanning Blink ID.
+*/
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBBlinkIdRecognizer : MBRecognizer
+
+MB_INIT
+
+/**
+ * Result of scanning BlinkIDRecognizer
+ */
+@property (nonatomic, strong, readonly) MBBlinkIdRecognizerResult *result;
+
+/**
+ * Called with dewarped full document image
+ */
+- (void)setDewarpedImageDelegate:(nullable id)delegate;
+
+/**
+ * Called when document is not supported
+ */
+- (void)setClassifierDelegate:(nullable id)delegate;
+
+@end
+
+@protocol MBBlinkIdRecognizerDelegate
+@optional
+- (void)onImageAvailable:(nullable MBImage *)dewarpedImage;
+- (void)onDocumentSupportStatus:(BOOL)isDocumentSupported;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBBlinkIdRecognizerResult.h b/Microblink.framework/Headers/MBBlinkIdRecognizerResult.h
new file mode 100644
index 000000000..6539df418
--- /dev/null
+++ b/Microblink.framework/Headers/MBBlinkIdRecognizerResult.h
@@ -0,0 +1,77 @@
+//
+// MBBlinkIDRecognizerResult.h
+//
+// Created by juraskrlec on 06/05/2019
+// Copyright © Microblink Ltd. All rights reserved.
+//
+
+#import "MBRecognizerResult.h"
+#import "MBDateResult.h"
+#import "MBFullDocumentImageResult.h"
+#import "MBEncodedFullDocumentImageResult.h"
+#import "MBFaceImageResult.h"
+#import "MBEncodedFaceImageResult.h"
+#import "MBDriverLicenseDetailedInfo.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+* The Blink ID Recognizer is used for scanning Blink ID.
+*/
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBBlinkIdRecognizerResult : MBRecognizerResult
+
+MB_INIT_UNAVAILABLE
+
+/**
+ * The address of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *address;
+
+/**
+ * The date of birth of the document owner.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfBirth;
+
+/**
+ * The date of expiry of the document.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfExpiry;
+
+/**
+ * The date of issue of the document.
+ */
+@property (nonatomic, readonly, nullable) MBDateResult *dateOfIssue;
+
+/**
+ * The document number.
+ */
+@property (nonatomic, readonly, nullable) NSString *documentNumber;
+
+/**
+ * The first name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *firstName;
+
+/**
+ * The full name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *fullName;
+
+/**
+ * The last name of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *lastName;
+
+/**
+ * The sex of the document owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *sex;
+
+/**
+ * The driver license detailed info.
+ */
+@property (nonatomic, readonly, nullable) MBDriverLicenseDetailedInfo *driverLicenseDetailedInfo;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBCameraReticle.h b/Microblink.framework/Headers/MBCameraReticle.h
new file mode 100644
index 000000000..04e6ff63d
--- /dev/null
+++ b/Microblink.framework/Headers/MBCameraReticle.h
@@ -0,0 +1,51 @@
+//
+// MBCameraReticle.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 07/06/2019.
+//
+
+#import "MBSubview.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A camera reticle that locates at the center of screen and uses circle arc rotation to indicate that
+ * the system is active but has not detected an object yet.
+ */
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBCameraReticle : MBSubview
+
+/** Whether the reticle is currently animating. */
+@property(nonatomic) BOOL isAnimating;
+
+/** Whether the reticle is currently detecting. */
+@property(nonatomic) BOOL isDetecting;
+
+/** Whether the reticle is currently confirming. */
+@property(nonatomic) BOOL isConfirming;
+
+/** Starts animating the reticle. Does nothing if the reticle is already animating. */
+- (void)startAnimating;
+
+/** Stops animating the reticle. Does nothing if the reticle is not animating. */
+- (void)stopAnimating;
+
+/** Starts animating the detection spinner. Does nothing if the detection is already animating. */
+- (void)startDetecting;
+
+/** Stops animating the detection spinner. Does nothing if the detection is not animating. */
+- (void)stopDetecting;
+
+/** Starts animating the confirmation expanding ring. Does nothing if the detection is already animating. */
+- (void)startConfirming;
+
+/** Stops animating the confirmation expanding ring. Does nothing if the detection is not animating. */
+- (void)stopConfirming;
+
+/** Stops all animations and remove all layers to reset state to beginning */
+- (void)resetAll;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBDriverLicenseDetailedInfo.h b/Microblink.framework/Headers/MBDriverLicenseDetailedInfo.h
new file mode 100644
index 000000000..7c81b7b60
--- /dev/null
+++ b/Microblink.framework/Headers/MBDriverLicenseDetailedInfo.h
@@ -0,0 +1,35 @@
+//
+// MBDriverLicenseDetailedInfo.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 17/06/2019.
+//
+
+#import
+#import "MBMicroblinkDefines.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBDriverLicenseDetailedInfo : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * The restrictions to driving privileges for the United States driver license owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *restrictions;
+
+/**
+ * The additional privileges granted to the United States driver license owner.
+ */
+@property (nonatomic, readonly, nullable) NSString *endorsements;
+
+/**
+ * The type of vehicle the driver license owner has privilege to drive.
+ */
+@property (nonatomic, readonly, nullable) NSString *vehicleClass;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBErrorReticle.h b/Microblink.framework/Headers/MBErrorReticle.h
new file mode 100644
index 000000000..e781191e9
--- /dev/null
+++ b/Microblink.framework/Headers/MBErrorReticle.h
@@ -0,0 +1,21 @@
+//
+// MBErrorReticle.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 10/06/2019.
+//
+
+#import "MBSubview.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A camera reticle detection that locates at the center of screen and uses circular rotation to indicate that
+ * the system is active and has detected object.
+ */
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBErrorReticle : MBSubview
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBImage.h b/Microblink.framework/Headers/MBImage.h
index 9a8f28593..9d90b23a6 100644
--- a/Microblink.framework/Headers/MBImage.h
+++ b/Microblink.framework/Headers/MBImage.h
@@ -36,7 +36,7 @@ MB_CLASS_AVAILABLE_IOS(8.0)
* UIImage of wrapped image.
* If this PPImage wasn't created with UIImage, UIImage will be created with first access of this property.
*/
-@property (nonatomic, readonly) UIImage *image;
+@property (nonatomic, readonly, nullable) UIImage *image;
/**
* Region of the image used for scanning, where the whole image is specified with CGRectMake(0.0, 0.0, 1.0, 1.0).
diff --git a/Microblink.framework/Headers/MBLegacyRecognizer.h b/Microblink.framework/Headers/MBLegacyRecognizer.h
deleted file mode 100644
index c61bc7ae8..000000000
--- a/Microblink.framework/Headers/MBLegacyRecognizer.h
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// MBLegacyRecognizer.h
-// MicroblinkDev
-//
-// Created by DoDo on 05/04/2018.
-//
-
-#ifndef MBLegacyRecognizer_h
-#define MBLegacyRecognizer_h
-
-#import
-
-#import "MBMicroblinkDefines.h"
-#import "MBRecognizer.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-MB_CLASS_AVAILABLE_IOS(8.0)
-@interface MBLegacyRecognizer : MBRecognizer
-
-MB_INIT_UNAVAILABLE
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MBLegacyRecognizer_h */
diff --git a/Microblink.framework/Headers/MBLegacyRecognizerResult.h b/Microblink.framework/Headers/MBLegacyRecognizerResult.h
deleted file mode 100644
index 3c3f1bd88..000000000
--- a/Microblink.framework/Headers/MBLegacyRecognizerResult.h
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// MBLegacyRecognizerResult.h
-// MicroblinkDev
-//
-// Created by DoDo on 05/04/2018.
-//
-
-#ifndef MBLegacyRecognizerResult_h
-#define MBLegacyRecognizerResult_h
-
-#import "MBMicroblinkDefines.h"
-#import "MBRecognizerResult.h"
-
-#import
-
-NS_ASSUME_NONNULL_BEGIN
-
-MB_CLASS_AVAILABLE_IOS(8.0)
-@interface MBLegacyRecognizerResult : MBRecognizerResult
-
-MB_INIT_UNAVAILABLE
-
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif /* MBLegacyRecognizerResult_h */
diff --git a/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizer.h b/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizer.h
new file mode 100644
index 000000000..91e1a99be
--- /dev/null
+++ b/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizer.h
@@ -0,0 +1,34 @@
+//
+// MBNigeriaVoterIdBackRecognizer.h
+//
+// Created by juraskrlec on 09/07/2019
+// Copyright © Microblink Ltd. All rights reserved.
+//
+
+#import "MBRecognizer.h"
+#import "MBNigeriaVoterIdBackRecognizerResult.h"
+
+#import "MBGlareDetection.h"
+#import "MBFullDocumentImage.h"
+#import "MBEncodeFullDocumentImage.h"
+#import "MBFullDocumentImageDpi.h"
+#import "MBFullDocumentImageExtensionFactors.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+* Recognizer which can scan back side of Nigeria voter ID cards.
+*/
+MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
+@interface MBNigeriaVoterIdBackRecognizer : MBRecognizer
+
+MB_INIT
+
+/**
+ * Result of scanning NigeriaVoterIdBackRecognizer
+ */
+@property (nonatomic, strong, readonly) MBNigeriaVoterIdBackRecognizerResult *result;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizerResult.h b/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizerResult.h
new file mode 100644
index 000000000..eb7e8856b
--- /dev/null
+++ b/Microblink.framework/Headers/MBNigeriaVoterIdBackRecognizerResult.h
@@ -0,0 +1,56 @@
+//
+// MBNigeriaVoterIdBackRecognizerResult.h
+//
+// Created by juraskrlec on 09/07/2019
+// Copyright © Microblink Ltd. All rights reserved.
+//
+
+#import "MBRecognizerResult.h"
+#import "MBDateResult.h"
+
+#import "MBFullDocumentImageResult.h"
+#import "MBEncodedFullDocumentImageResult.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+* Recognizer which can scan back side of Nigeria voter ID cards.
+*/
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBNigeriaVoterIdBackRecognizerResult : MBRecognizerResult
+
+MB_INIT_UNAVAILABLE
+
+/**
+* The address of Nigeria Voter ID owner.
+*/
+@property (nonatomic, readonly) NSString *address;
+
+/**
+* The date of birth of Nigeria Voter ID owner.
+*/
+@property (nonatomic, readonly) MBDateResult *dateOfBirth;
+
+/**
+* The first name of Nigeria Voter ID owner.
+*/
+@property (nonatomic, readonly) NSString *firstName;
+
+/**
+* The raw barcode data of Nigeria Voter ID card.
+*/
+@property (nonatomic, readonly) NSString *rawBarcodeData;
+
+/**
+* The sex of Nigeria Voter ID owner.
+*/
+@property (nonatomic, readonly) NSString *sex;
+
+/**
+* The surname of Nigeria Voter ID owner.
+*/
+@property (nonatomic, readonly) NSString *surname;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBRomaniaIdFrontRecognizerResult.h b/Microblink.framework/Headers/MBRomaniaIdFrontRecognizerResult.h
index a31f0c74f..a40d5f677 100644
--- a/Microblink.framework/Headers/MBRomaniaIdFrontRecognizerResult.h
+++ b/Microblink.framework/Headers/MBRomaniaIdFrontRecognizerResult.h
@@ -78,6 +78,11 @@ MB_INIT_UNAVAILABLE
*/
@property (nonatomic, readonly) NSString *surname;
+/**
+ * The CNP number of Romania ID owner.
+ */
+@property (nonatomic, readonly) NSString *cnpNumber;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBSloveniaCombinedRecognizerResult.h b/Microblink.framework/Headers/MBSloveniaCombinedRecognizerResult.h
index f4f59f8a7..af1d9be9e 100644
--- a/Microblink.framework/Headers/MBSloveniaCombinedRecognizerResult.h
+++ b/Microblink.framework/Headers/MBSloveniaCombinedRecognizerResult.h
@@ -88,6 +88,11 @@ MB_INIT_UNAVAILABLE
*/
@property (nonatomic, readonly) NSString *surname;
+/**
+ * Determines if date of expiry of Slovenian ID card is permanent.
+ */
+@property (nonatomic, readonly) BOOL dateOfExpiryPermanent;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBSloveniaIdFrontRecognizerResult.h b/Microblink.framework/Headers/MBSloveniaIdFrontRecognizerResult.h
index 784fe3247..144517042 100644
--- a/Microblink.framework/Headers/MBSloveniaIdFrontRecognizerResult.h
+++ b/Microblink.framework/Headers/MBSloveniaIdFrontRecognizerResult.h
@@ -56,7 +56,12 @@ MB_INIT_UNAVAILABLE
*/
@property (nonatomic, readonly) NSString *surname;
+/**
+ * Determines if date of expiry of Slovenian ID card is permanent.
+ */
+@property (nonatomic, readonly) BOOL dateOfExpiryPermanent;
+
@end
-NS_ASSUME_NONNULL_END
\ No newline at end of file
+NS_ASSUME_NONNULL_END
diff --git a/Microblink.framework/Headers/MBUsdlCombinedRecognizerResult.h b/Microblink.framework/Headers/MBUsdlCombinedRecognizerResult.h
index a95259853..47047f477 100644
--- a/Microblink.framework/Headers/MBUsdlCombinedRecognizerResult.h
+++ b/Microblink.framework/Headers/MBUsdlCombinedRecognizerResult.h
@@ -112,7 +112,7 @@ MB_INIT_UNAVAILABLE
*
* @return value for a given key
*/
-- (NSString *_Nullable)getField:(MBUsdlKeys)usdlKey MB_ATTRIBUTE_DEPRECATED;
+- (NSString *_Nullable)getField:(MBUsdlKeys)usdlKey;
/**
* Array of elements that are not part of AAMVA standard and are specific to each US state.
diff --git a/Microblink.framework/Headers/MBUsdlRecognizerResult.h b/Microblink.framework/Headers/MBUsdlRecognizerResult.h
index 119886472..a17232a34 100644
--- a/Microblink.framework/Headers/MBUsdlRecognizerResult.h
+++ b/Microblink.framework/Headers/MBUsdlRecognizerResult.h
@@ -100,7 +100,7 @@ MB_INIT_UNAVAILABLE
*
* @return value for a given key
*/
-- (NSString *_Nullable)getField:(MBUsdlKeys)usdlKey MB_ATTRIBUTE_DEPRECATED;
+- (NSString *_Nullable)getField:(MBUsdlKeys)usdlKey;
/**
* Array of elements that are not part of AAMVA standard and are specific to each US state.
diff --git a/Microblink.framework/Info.plist b/Microblink.framework/Info.plist
index a2862657a..0449fd083 100644
Binary files a/Microblink.framework/Info.plist and b/Microblink.framework/Info.plist differ
diff --git a/Microblink.framework/Microblink b/Microblink.framework/Microblink
index 6d832fca0..865c8adb0 100755
--- a/Microblink.framework/Microblink
+++ b/Microblink.framework/Microblink
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:bc1332f1030c1ed8050995fa7f187e18aa31a8918ae8f9802b826079d1bd5097
-size 167065216
+oid sha256:9fbfccfe320bb5ea3a7e85b1dd2c774bc0e11e130b65d61433dec275afb842f4
+size 180045568
diff --git a/Microblink.framework/_CodeSignature/CodeResources b/Microblink.framework/_CodeSignature/CodeResources
index 7659fae8b..e58999d4f 100644
--- a/Microblink.framework/_CodeSignature/CodeResources
+++ b/Microblink.framework/_CodeSignature/CodeResources
@@ -54,7 +54,7 @@
Headers/MBAustriaIdFrontRecognizer.h
- T6FfSiJbCaeaXkS1pJinjIJ1GCc=
+ 1nudXbOCj+xxmm6GSkiuurIH2xg=
Headers/MBAustriaIdFrontRecognizerResult.h
@@ -150,11 +150,39 @@
Headers/MBBlinkIDEntities.h
- AdT0/0YBByewcH9uF7DoaLfknXk=
+ IaDoKU51raax3GhUvvHll5X/uME=
Headers/MBBlinkIDUIComponents.h
- MloZiSueR/roLZijACo3J548Gg4=
+ n3b6BbuirVUae0GnM8Bso9W7awY=
+
+ Headers/MBBlinkIdCombinedRecognizer.h
+
+ Vk+xD999HFzEN76f50r0SmMp9yY=
+
+ Headers/MBBlinkIdCombinedRecognizerResult.h
+
+ 98shdhWSNMEdFQLnpZnrBI1dvLs=
+
+ Headers/MBBlinkIdOverlaySettings.h
+
+ xuIHm97h/vojlkGoyx+S+FwuLl4=
+
+ Headers/MBBlinkIdOverlayViewController.h
+
+ 13KyNb0spwFPrDLumZGyVFJkt6A=
+
+ Headers/MBBlinkIdOverlayViewControllerDelegate.h
+
+ 9E0aOoGgcb9r5BOkhUvKu3XAC/U=
+
+ Headers/MBBlinkIdRecognizer.h
+
+ cwiNAZCTrABYjAZCgHLFlvmqPGs=
+
+ Headers/MBBlinkIdRecognizerResult.h
+
+ JfIq0FGyVwX1bk+oyR4fj6CUW9A=
Headers/MBBlinkInputEntities.h
@@ -236,6 +264,10 @@
Z1yIrnygpQkQ/oEZ5JSL9NAWrGY=
+ Headers/MBCameraReticle.h
+
+ RLW2rijtiBVuUhzw/I9xjBLeOHY=
+
Headers/MBCameraSettings.h
OlzBDAFkjC8+DVEUEIAMarJoD7o=
@@ -516,6 +548,10 @@
x1atFdwmXPBh/BgFOTlllCddUWM=
+ Headers/MBDriverLicenseDetailedInfo.h
+
+ TwnQ4S2tbUSHWHcEbI09FMbpRTc=
+
Headers/MBEgyptIdFrontRecognizer.h
4vabfwt5XOsFJ/dD9+PmMg/TH7Q=
@@ -576,6 +612,10 @@
okDIKhb4ne4uFq8ITR1UfNAEoMo=
+ Headers/MBErrorReticle.h
+
+ sBlTVVP4l8UPVj9KziKeDCm8F0I=
+
Headers/MBEudlCountry.h
QFylbcv8xmKSbnDtu+ZFsj65b+k=
@@ -738,7 +778,7 @@
Headers/MBImage.h
- VlYNyu4ivL5y89TA+5Ful1MwSnQ=
+ raZ2E06cNbzlo6xmM+wCdfHNJSE=
Headers/MBImageExtensionFactors.h
@@ -820,14 +860,6 @@
df9KfnztnTwXBvaCwB77t4Xgfls=
- Headers/MBLegacyRecognizer.h
-
- gkV4CxST+mKkxyGO3lYW9Jf1+6I=
-
- Headers/MBLegacyRecognizerResult.h
-
- xEdW4sBin5GvmVxVwAEnGrT6mMU=
-
Headers/MBLicensePlatesParser.h
B3ecwconNCWtiMgaPZLEmT2ZCAA=
@@ -992,6 +1024,14 @@
0XaYEpE7TSHDy8ssJJegPkGHPz4=
+ Headers/MBNigeriaVoterIdBackRecognizer.h
+
+ Bk7QUdIM2HBdudjqavQ+2sEl1Ko=
+
+ Headers/MBNigeriaVoterIdBackRecognizerResult.h
+
+ kAc/FJDpL8602H4CEly4iKITFt0=
+
Headers/MBNoUpScalingDewarpPolicy.h
rSd3exLHKBeTIu0/xzJD5wkbYk4=
@@ -1194,7 +1234,7 @@
Headers/MBRomaniaIdFrontRecognizerResult.h
- RnZbwjWVAHi1HpRVfRdjU+9StSg=
+ JW7heQ8VJAwMEC695UF/G4do8nU=
Headers/MBScanElement.h
@@ -1298,7 +1338,7 @@
Headers/MBSloveniaCombinedRecognizerResult.h
- 4sPTeve3wrKQ1h7HH7L0wNJPmtA=
+ 2OCMkI/2hR5vY/rz4xoREI7Ls1s=
Headers/MBSloveniaIdBackRecognizer.h
@@ -1314,7 +1354,7 @@
Headers/MBSloveniaIdFrontRecognizerResult.h
- O5hO4IPPpIHDAA31hrhPm6aRIjw=
+ Z5y9+dcBD8KLXB1y6fs9znehkhQ=
Headers/MBSpainDlFrontRecognizer.h
@@ -1438,7 +1478,7 @@
Headers/MBUsdlCombinedRecognizerResult.h
- UjcmOMOBYhukcSr9jbryTlp1ST8=
+ TTMeWbDGEx8CbgCI9595E5maXaI=
Headers/MBUsdlKeys.h
@@ -1450,7 +1490,7 @@
Headers/MBUsdlRecognizerResult.h
- P/ILAutxq7EhQDRXrhiJtTG0OFo=
+ 2nOO/hyCvSuEQ9ubt6r2hVPV22w=
Headers/MBViewControllerFactory.h
@@ -1482,7 +1522,7 @@
Info.plist
- 9dEitBkhvqdRdABsl1rxhSGKtE4=
+ Vb9CXsWEMg0Nv6KuqNQQmF/4PRU=
Modules/module.modulemap
@@ -1627,11 +1667,11 @@
hash
- T6FfSiJbCaeaXkS1pJinjIJ1GCc=
+ 1nudXbOCj+xxmm6GSkiuurIH2xg=
hash2
- siMzmEE/8TbCCanF8eg7beo/0FRmDz182SP3xKB2NiU=
+ Ab6PUW+0YCvH1AjpEM3Z3xe871X9yqtCxMr3JIitS1s=
Headers/MBAustriaIdFrontRecognizerResult.h
@@ -1891,22 +1931,99 @@
hash
- AdT0/0YBByewcH9uF7DoaLfknXk=
+ IaDoKU51raax3GhUvvHll5X/uME=
hash2
- zH9ncUGqmMnU/xP2A8JhYk0zFi+eq5d4euoz4FLsZFo=
+ QWRkprOoSzlDckxQVAvp3bbZ/uf5FzI8BXSff/PhLjY=
Headers/MBBlinkIDUIComponents.h
hash
- MloZiSueR/roLZijACo3J548Gg4=
+ n3b6BbuirVUae0GnM8Bso9W7awY=
+
+ hash2
+
+ uhcP+nI66BYqM+0Jccy19LlJ+Fne4rOtkTu9l7W7s1I=
+
+
+ Headers/MBBlinkIdCombinedRecognizer.h
+
+ hash
+
+ Vk+xD999HFzEN76f50r0SmMp9yY=
+
+ hash2
+
+ dJbBexoMD8xCaCp0aIA0fh79+AFfGpHL9mt7HOendcI=
+
+
+ Headers/MBBlinkIdCombinedRecognizerResult.h
+
+ hash
+
+ 98shdhWSNMEdFQLnpZnrBI1dvLs=
+
+ hash2
+
+ 5vIRFKMK+bwvm95AKK17dchrzLP6CtuE+e+ogRW3zTM=
+
+
+ Headers/MBBlinkIdOverlaySettings.h
+
+ hash
+
+ xuIHm97h/vojlkGoyx+S+FwuLl4=
+
+ hash2
+
+ pFwkLBQiJ6Gvpzc1TLSTwpND+7SJQRRMADoFiKnyon8=
+
+
+ Headers/MBBlinkIdOverlayViewController.h
+
+ hash
+
+ 13KyNb0spwFPrDLumZGyVFJkt6A=
+
+ hash2
+
+ wGLE5nT7mSiSBxC0PEsEHeSKj0rawOZ8wvHaolKV+go=
+
+
+ Headers/MBBlinkIdOverlayViewControllerDelegate.h
+
+ hash
+
+ 9E0aOoGgcb9r5BOkhUvKu3XAC/U=
+
+ hash2
+
+ c8LO9N/dJyVVVbE0nMX6vIlxDf57INzr5RFhbc3zf4g=
+
+
+ Headers/MBBlinkIdRecognizer.h
+
+ hash
+
+ cwiNAZCTrABYjAZCgHLFlvmqPGs=
+
+ hash2
+
+ amDNwBkfD63Z0x5I5LMQgY7ti9YWa4PHcOnpU+GO3zw=
+
+
+ Headers/MBBlinkIdRecognizerResult.h
+
+ hash
+
+ JfIq0FGyVwX1bk+oyR4fj6CUW9A=
hash2
- 5RTNOPges2yBmFA1cOYpNUtWcn9TpnQAhQSohbAbzzc=
+ q3CJAGd0rQ5J+X+YLIpIM/1sNvbvalsawuIFU4mCIHY=
Headers/MBBlinkInputEntities.h
@@ -2129,6 +2246,17 @@
uLKKcQBpQVSYWpaP7LU5Ttg5xHJhAhGxFeFcgzJwuFI=
+ Headers/MBCameraReticle.h
+
+ hash
+
+ RLW2rijtiBVuUhzw/I9xjBLeOHY=
+
+ hash2
+
+ vwF6upRpzFjEqlvKuBxkJzTzlW/+YGjme9NXE6JqXb4=
+
+
Headers/MBCameraSettings.h
hash
@@ -2899,6 +3027,17 @@
aTTTaLt7i8jXN9vONscDwJ9bhO96ghJQd3oooe/Hm1U=
+ Headers/MBDriverLicenseDetailedInfo.h
+
+ hash
+
+ TwnQ4S2tbUSHWHcEbI09FMbpRTc=
+
+ hash2
+
+ z89jhKP8V5HZyv4EwOQvMFmPd7frKvu6iN63naoZkAY=
+
+
Headers/MBEgyptIdFrontRecognizer.h
hash
@@ -3064,6 +3203,17 @@
SIl/YG1vGs6LOS6DM+b2+N0twuVB0sfkdfiDBrMfX0U=
+ Headers/MBErrorReticle.h
+
+ hash
+
+ sBlTVVP4l8UPVj9KziKeDCm8F0I=
+
+ hash2
+
+ 48goK3UWFqCNjqZo3RTRqxfIQCPruKYi5W83nbVlNzE=
+
+
Headers/MBEudlCountry.h
hash
@@ -3508,11 +3658,11 @@
hash
- VlYNyu4ivL5y89TA+5Ful1MwSnQ=
+ raZ2E06cNbzlo6xmM+wCdfHNJSE=
hash2
- 6c94/J6y2BM/RrNRykxJ3OKbdJMmnENrSA0FGPg6JCI=
+ s8LajaKbSxSrDopUB2LxIBfrHlcdvuK7h9DgfokVHqs=
Headers/MBImageExtensionFactors.h
@@ -3735,28 +3885,6 @@
Xf2Tpu4nFh/mggFohhG38Gzl9b1A9myH36tVqelr+zM=
- Headers/MBLegacyRecognizer.h
-
- hash
-
- gkV4CxST+mKkxyGO3lYW9Jf1+6I=
-
- hash2
-
- Rqt+zVXoB4Mhn4UASlKJ1wENOh/3apo8bo8lyRRzO8I=
-
-
- Headers/MBLegacyRecognizerResult.h
-
- hash
-
- xEdW4sBin5GvmVxVwAEnGrT6mMU=
-
- hash2
-
- B2Noihs80AOsCCl6Q5b8XP+ZVx6cWx4NXEb0lHW021Y=
-
-
Headers/MBLicensePlatesParser.h
hash
@@ -4208,6 +4336,28 @@
1dKFsbRSm2OVabVGESb1wkWJuu2Q/4e6DzVg8L/ukyA=
+ Headers/MBNigeriaVoterIdBackRecognizer.h
+
+ hash
+
+ Bk7QUdIM2HBdudjqavQ+2sEl1Ko=
+
+ hash2
+
+ R530zqMgHkkkQalroDkg0chYwir3JVSQlOCwZq24kPw=
+
+
+ Headers/MBNigeriaVoterIdBackRecognizerResult.h
+
+ hash
+
+ kAc/FJDpL8602H4CEly4iKITFt0=
+
+ hash2
+
+ xDsQpku8+dwIsYQPODQOyLwRnFOQ42jggpAm0Gb8XQI=
+
+
Headers/MBNoUpScalingDewarpPolicy.h
hash
@@ -4762,11 +4912,11 @@
hash
- RnZbwjWVAHi1HpRVfRdjU+9StSg=
+ JW7heQ8VJAwMEC695UF/G4do8nU=
hash2
- mN6CcksN6ktMIskaL7QIpeIWNnoMnwG7oU2EkcnCcRI=
+ 0+3n9Vq2V1q/tyn6Nf+THImBgNGhyRZ2zBLsSEK24vk=
Headers/MBScanElement.h
@@ -5048,11 +5198,11 @@
hash
- 4sPTeve3wrKQ1h7HH7L0wNJPmtA=
+ 2OCMkI/2hR5vY/rz4xoREI7Ls1s=
hash2
- RbJQzNZOyykZ76+6RxzOu5Do+wvWyFf3fRBz2SKAcl8=
+ L3vGpYPpJS8MxggP1q4vD6Bd5wCn4POwv7M/tmAVLyg=
Headers/MBSloveniaIdBackRecognizer.h
@@ -5092,11 +5242,11 @@
hash
- O5hO4IPPpIHDAA31hrhPm6aRIjw=
+ Z5y9+dcBD8KLXB1y6fs9znehkhQ=
hash2
- 3MnOKUEvhOe8FJyCMrESUNEUWZlg3fi86Z/G3Tv+/ts=
+ QxamMwzRHReR6R3+zf+vkzuXGBjWGs1HB/EQ6VpwMsU=
Headers/MBSpainDlFrontRecognizer.h
@@ -5433,11 +5583,11 @@
hash
- UjcmOMOBYhukcSr9jbryTlp1ST8=
+ TTMeWbDGEx8CbgCI9595E5maXaI=
hash2
- +Tp+xQyEHeZ+A3pmfyIyKryB07cYjgoNVWSoVkOoOCk=
+ 3Ea7K8up1v0DZN453EYN1rGCNubZWBDzOAFoB8sof8M=
Headers/MBUsdlKeys.h
@@ -5466,11 +5616,11 @@
hash
- P/ILAutxq7EhQDRXrhiJtTG0OFo=
+ 2nOO/hyCvSuEQ9ubt6r2hVPV22w=
hash2
- f5pwSgG74JlpTbNNE/Tfn8djk6NpQHPUuOMUkZ0uq4g=
+ 7658jXkgszQt0RM/vfiTvto1klRjH0OAasYR27h+itQ=
Headers/MBViewControllerFactory.h
diff --git a/PPBlinkID.podspec b/PPBlinkID.podspec
index 10b7567aa..3c99eded9 100644
--- a/PPBlinkID.podspec
+++ b/PPBlinkID.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "PPBlinkID"
- s.version = "4.9.1"
+ s.version = "4.10.0"
s.summary = "A delightful component for barcode scanning"
s.homepage = "http://microblink.com"
@@ -31,7 +31,7 @@ Pod::Spec.new do |s|
}
s.source = {
- :http => 'https://github.com/BlinkID/blinkid-ios/releases/download/v4.9.1/blinkid-ios_v4.9.1.tar.gz'
+ :http => 'https://github.com/BlinkID/blinkid-ios/releases/download/v4.10.0/blinkid-ios_v4.10.0.tar.gz'
}
s.platform = :ios
diff --git a/README.md b/README.md
index a55efebce..545bdc4e0 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,8 @@ BlinkID is a part of family of SDKs developed by [MicroBlink](http://www.microbl
- [Using `MBFieldByFieldOverlayViewController`](#using-fieldbyfield-overlay-viewcontroller)
- [Using `MBBlinkCardOverlayViewController`](#using-blinkcard-overlay-viewcontroller)
- [Using `MBDocumentOverlayViewController`](#using-blinkinput-overlay-viewcontroller)
- - [Using `MBDocumentVerificationOverlayViewController`](#using-blinkid-overlay-viewcontroller)
+ - [Using `MBDocumentVerificationOverlayViewController`](#using-document-verification-overlay-viewcontroller)
+ - [New: Using `MBBlinkIdOverlayViewController`](#using-blinkid-overlay-viewcontroller)
- [Custom overlay view controller](#using-custom-overlay-viewcontroller)
- [Direct processing API](#direct-api-processing)
- [Using Direct API for `NSString` recognition (parsing)](#direct-api-string-processing)
@@ -51,6 +52,8 @@ BlinkID is a part of family of SDKs developed by [MicroBlink](http://www.microbl
- [BlinkID recognizers](#blinkid-recognizers)
- [Machine Readable Travel Document recognizer](#mrtd-recognizer)
- [Document face recognizer](#document-face-recognizers)
+ - [BlinkID Recognizer](#blink-id-recognizers)
+ - [BlinkID Combined Recognizer](#blink-id-combined-recognizers)
- [Austria](#austria)
- [Australia](#australia)
- [Brunei](#brunei)
@@ -155,9 +158,9 @@ pod init
- Copy and paste the following lines into the TextEdit window:
```ruby
-platform :ios, '9.0'
+platform :ios, '8.0'
target 'Your-App-Name' do
- pod 'PPBlinkID', '~> 4.9.1'
+ pod 'PPBlinkID', '~> 4.10.0'
end
```
@@ -244,9 +247,8 @@ Swift
```swift
class ViewController: UIViewController, MBDocumentOverlayViewControllerDelegate {
- var rawParser: MBRawParser?
- var parserGroupProcessor: MBParserGroupProcessor?
- var blinkInputRecognizer: MBBlinkInputRecognizer?
+ var mrtdRecognizer : MBMrtdRecognizer?
+ var usdlRecognizer : MBUsdlRecognizer?
override func viewDidLoad() {
super.viewDidLoad()
@@ -254,22 +256,29 @@ class ViewController: UIViewController, MBDocumentOverlayViewControllerDelegate
@IBAction func didTapScan(_ sender: AnyObject) {
- let settings = MBDocumentOverlaySettings()
- rawParser = MBRawParser()
- parserGroupProcessor = MBParserGroupProcessor(parsers: [rawParser!])
- blinkInputRecognizer = MBBlinkInputRecognizer(processors: [parserGroupProcessor!])
+ // To specify we want to perform MRTD (machine readable travel document) recognition, initialize the MRTD recognizer settings
+ self.mrtdRecognizer = MBMrtdRecognizer()
+ self.mrtdRecognizer?.returnFullDocumentImage = true;
+ self.mrtdRecognizer?.allowUnverifiedResults = true;
- let recognizerList = [self.blinkInputRecognizer!]
- let recognizerCollection = MBRecognizerCollection(recognizers: recognizerList)
+ /** Create usdl recognizer */
+ self.usdlRecognizer = MBUsdlRecognizer()
+
+ /** Create barcode settings */
+ let settings : MBDocumentOverlaySettings = MBDocumentOverlaySettings()
+
+ /** Crate recognizer collection */
+ let recognizerList = [self.mrtdRecognizer!, self.usdlRecognizer!]
+ let recognizerCollection : MBRecognizerCollection = MBRecognizerCollection(recognizers: recognizerList)
/** Create your overlay view controller */
- let documentOverlayViewController = MBDocumentOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self)
+ let barcodeOverlayViewController : MBDocumentOverlayViewController = MBDocumentOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self)
/** Create recognizer view controller with wanted overlay view controller */
- let recognizerRunnerViewController: UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: documentOverlayViewController)
+ let recognizerRunneViewController : UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: barcodeOverlayViewController)
/** Present the recognizer runner view controller. You can use other presentation methods as well (instead of presentViewController) */
- present(recognizerRunnerViewController!, animated: true, completion: nil)
+ self.present(recognizerRunneViewController, animated: true, completion: nil)
}
}
```
@@ -279,9 +288,8 @@ Objective-C
```objective-c
@interface ViewController ()
-@property (nonatomic, strong) MBRawParser *rawParser;
-@property (nonatomic, strong) MBParserGroupProcessor *parserGroupProcessor;
-@property (nonatomic, strong) MBBlinkInputRecognizer *blinkInputRecognizer;
+@property (nonatomic, strong) MBMrtdRecognizer *mrtdRecognizer;
+@property (nonatomic, strong) MBUsdlRecognizer *usdlRecognizer;
@end
@@ -296,12 +304,11 @@ Objective-C
MBDocumentOverlaySettings* settings = [[MBDocumentOverlaySettings alloc] init];
- self.rawParser = [[MBRawParser alloc] init];
- self.parserGroupProcessor = [[MBParserGroupProcessor alloc] initWithParsers:@[self.rawParser]];
- self.blinkInputRecognizer = [[MBBlinkInputRecognizer alloc] initWithProcessors:@[self.parserGroupProcessor]];
+ self.mrtdRecognizer = [[MBMrtdRecognizer alloc] init];
+ self.usdlRecognizer = [[MBUsdlRecognizer alloc] init];
/** Create recognizer collection */
- MBRecognizerCollection *recognizerCollection = [[MBRecognizerCollection alloc] initWithRecognizers:@[self.blinkInputRecognizer]];
+ MBRecognizerCollection *recognizerCollection = [[MBRecognizerCollection alloc] initWithRecognizers:@[self.mrtdRecognizer, self.usdlRecognizer]];
MBDocumentOverlayViewController *overlayVC = [[MBDocumentOverlayViewController alloc] initWithSettings:settings recognizerCollection:recognizerCollection delegate:self];
UIViewController* recognizerRunnerViewController = [MBViewControllerFactory recognizerRunnerViewControllerWithOverlayViewController:overlayVC];
@@ -520,7 +527,7 @@ UIViewController* recognizerRunnerViewControll
As you can see, when initializing [`MBDocumentOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBDocumentOverlayViewController.html), we are sending delegate property as `self`. To get results, we need to conform to [`MBDocumentOverlayViewControllerDelegate`](http://blinkid.github.io/blinkid-ios/Protocols/MBDocumentOverlayViewControllerDelegate.html) protocol.
-### Using `MBDocumentVerificationOverlayViewController`
+### Using `MBDocumentVerificationOverlayViewController`
[`MBDocumentVerificationOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBDocumentVerificationOverlayViewController.html) is overlay view controller best suited for performing scanning of various document for both front and back side. It has [`MBDocumentVerificationOverlayViewControllerDelegate`](http://blinkid.github.io/blinkid-ios/Protocols/MBDocumentVerificationOverlayViewControllerDelegate.html) delegate which can be used out-of-the-box to perform scanning using the default UI. Here is an example how to use and initialize [`MBDocumentVerificationOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBDocumentVerificationOverlayViewController.html):
@@ -546,6 +553,57 @@ UIViewController* recognizerRunnerViewControll
```
As you can see, when initializing [`MBDocumentVerificationOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBDocumentVerificationOverlayViewController.html), we are sending delegate property as `self`. To get results, we need to conform to [`MBDocumentVerificationOverlayViewControllerDelegate`](http://blinkid.github.io/blinkid-ios/Protocols/MBDocumentVerificationOverlayViewControllerDelegate.html) protocol.
+
+### New: Using `MBBlinkIdOverlayViewController`
+
+[`MBBlinkIdOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdOverlayViewController.html) implements new UI for scanning identity documents, which is optimally designed to be used with new [`MBBlinkIdRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdRecognizer.html) and [`MBBlinkIdCombinedRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdCombinedRecognizer.html). The new [`MBBlinkIdOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdOverlayViewController.html) implements several new features:
+ * clear indication for searching phase, when BlinkID is searching for an ID document
+ * clear progress indication, when BlinkID is busy with OCR and data extraction
+ * clear message when the document is not supported
+ * visual indications when the user needs to place the document closer to the camera
+ * when [`MBBlinkIdCombinedRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdCombinedRecognizer.html) is used, visual indication that the data from the front side of the document doesn't match the data on the back side of the document.
+The new UI allows the user to scan the document at an any angle, in any orientation. We recommend forcing landscape orientation if you scan barcodes on the back side, because in that orientation success rate will be higher.
+To force the UI in landscape mode, use the following instructions:
+
+Swift
+```swift
+let settings = MBBlinkIdOverlaySettings()
+settings.autorotateOverlay = true
+settings.supportedOrientations = UIInterfaceOrientationMask.landscape
+```
+
+Objective-C
+```objective-c
+MBBlinkIdOverlaySettings *settings = [[MBBlinkIdOverlaySettings alloc] init];
+settings.autorotateOverlay = YES;
+settings.supportedOrientations = UIInterfaceOrientationMaskLandscape;
+```
+
+It has [`MBBlinkIdOverlayViewControllerDelegate`](http://blinkid.github.io/blinkid-ios/Protocols/MBBlinkIdOverlayViewControllerDelegate.html) delegate which can be used out-of-the-box to perform scanning using the default UI. Here is an example how to use and initialize [`MBBlinkIdOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdOverlayViewController.html):
+
+Swift
+```swift
+/** Create your overlay view controller */
+let blinkIdOverlayViewController : MBBlinkIdOverlayViewController = MBBlinkIdOverlayViewController(settings: blinkIdSettings, recognizerCollection: recognizerCollection, delegate: self)
+
+/** Create recognizer view controller with wanted overlay view controller */
+let recognizerRunneViewController : UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: blinkIdOverlayViewController)
+
+/** Present the recognizer runner view controller. You can use other presentation methods as well (instead of presentViewController) */
+self.present(recognizerRunneViewController, animated: true, completion: nil)
+```
+
+Objective-C
+```objective-c
+MBBlinkIdOverlayViewController *overlayVC = [[MBBlinkIdOverlayViewController alloc] initWithSettings:settings recognizerCollection: recognizerCollection delegate:self];
+UIViewController* recognizerRunnerViewController = [MBViewControllerFactory recognizerRunnerViewControllerWithOverlayViewController:overlayVC];
+
+/** Present the recognizer runner view controller. You can use other presentation methods as well (instead of presentViewController) */
+[self presentViewController:recognizerRunnerViewController animated:YES completion:nil];
+```
+
+As you can see, when initializing [`MBBlinkIdOverlayViewController`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdOverlayViewController.html), we are sending delegate property as `self`. To get results, we need to conform to [`MBBlinkIdOverlayViewControllerDelegate`](http://blinkid.github.io/blinkid-ios/Protocols/MBBlinkIdOverlayViewControllerDelegate.html) protocol.
+
### Custom overlay view controller
Please check our pdf417-sample-Swift for custom implementation of overlay view controller.
@@ -852,6 +910,16 @@ The [`MBDocumentFaceRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MB
You can find information about usage context at the beginning of [this section](#blinkid_recognizers).
+### BlinkID Recognizer
+The [`MBBlinkIdRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdRecognizer.html) scans and extracts data from the front side of the US driver license or ID.
+You can find the list of the currently supported US documents [`here`](https://github.com/BlinkID/blinkid-ios/tree/master/documentation/BlinkIDRecognizer.md).
+We will continue expanding this recognizer by adding support for new document types in the future. Star this repo to stay updated.
+
+### BlinkID Combined Recognizer
+Use [`MBBlinkIdCombinedRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdCombinedRecognizer.html) for scanning both sides of the US driver license and ID. First, it scans and extracts data from the front, then scans and extracts data from the barcode on the back, and finally, combines results from both sides. The [`BlinkIDCombinedRecognizer`](http://blinkid.github.io/blinkid-ios/Classes/MBBlinkIdCombinedRecognizer.html) also performs data matching and returns a flag if the extracted data captured from the front side matches the data from the barcode on the back.
+You can find the list of the currently supported US documents [`here`](https://github.com/BlinkID/blinkid-ios/tree/master/documentation/BlinkIDRecognizer.md).
+We will continue expanding this recognizer by adding support for new document types in the future. Star this repo to stay updated.
+
## BlinkID recognizers by countries
### Austria
diff --git a/Release notes.md b/Release notes.md
index 55d72839c..a677f390e 100644
--- a/Release notes.md
+++ b/Release notes.md
@@ -1,5 +1,37 @@
# Release notes
+## 4.10.0
+
+- Updates and additions:
+ - added `MBBlinkIdRecognizer` for scanning front side of ID cards and `MBBlinkIdCombinedRecognizer` for combined scanning of front and back side of ID cards
+ - for now, these recognizers classify and extract data from **87** different classes of **United States driver's licenses** (front and back side)
+ - in the upcoming releases, we are planning to add support for more document types from different countries
+ - completely new UX for scanning ID cards with scan overlay view controller: `MBBlinkIdOverlayViewController`:
+ - best suited for scanning with `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer`
+ - other single side and combined document recognizers are also supported
+- added support for reading back side of Nigerian Voter ID card - use `MBNigeriaVoterIdBackRecognizer`
+
+- Improvements in ID scanning performance:
+ - improved `MBRomaniaIdFrontRecognizer`
+ - now extracts `CNP` number
+ - improved `MBSloveniaIdFrontRecognizer` and `MBloveniaCombinedRecognizer`:
+ - return boolean flag which indicates whether **date of expiry** is permanent - use `dateOfExpiryPermanent`
+ - improved `MBGermanyPassportRecognizer`:
+ - better passport classification
+ - improved `MBColombiaIdFrontRecognizer`:
+ - support for document number in format 1-3-3
+ - improved `MBSlovakiaIdFrontRecognizer`:
+ - support for German letters
+ - Malaysia:
+ - `MBMalaysiaMyTenteraFrontRecognizer` supports 6-digit army number
+ - `MBMalaysiaIkadFrontRecognizer` - better extraction of the following fields (DeepOCR support): date of birth, sector, employer, address and date of expiry
+ - United Arab Emirates:
+ - glare detection is disabled by default for `MBUnitedArabEmiratesIdFrontRecognizer` and `MBUnitedArabEmiratesIdBackRecognizer`
+ - `MBUnitedArabEmiratesIdBackRecognizer` - optimized detection for black backgrounds
+
+- Bugfixes:
+ - fixed bug in `MBBlinkCardOverlayViewController` which caused memory issues
+
## 4.9.1
- Bugfixes:
diff --git a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/License/blinkid-license.txt b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/License/blinkid-license.txt and b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/License/blinkid-license.txt differ
diff --git a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift
index 983daa698..0ead48dd1 100644
--- a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift
+++ b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift
@@ -17,7 +17,7 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
}
@@ -35,7 +35,7 @@ class ViewController: UIViewController {
self.eudlRecognizer = MBEudlRecognizer()
self.eudlRecognizer?.returnFullDocumentImage = true
- /** Create barcode settings */
+ /** Create settings */
let settings : MBDocumentOverlaySettings = MBDocumentOverlaySettings()
/** Crate recognizer collection */
diff --git a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/AppDelegate.m b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/AppDelegate.m
index 7528e542e..5915e3718 100644
--- a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/AppDelegate.m
+++ b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/AppDelegate.m
@@ -20,7 +20,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
// Override point for customization after application launch.
/** First, set license key as soon as possible */
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
[[MBMicroblinkSDK sharedInstance] setLicenseResource:@"blinkid-license" withExtension:@"txt" inSubdirectory:@"" forBundle:[NSBundle mainBundle]];
return YES;
}
diff --git a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/blinkid-license.txt b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/blinkid-license.txt and b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/blinkid-license.txt differ
diff --git a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
index fe98e8620..3e4422aaa 100755
--- a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
+++ b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
@@ -18,7 +18,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
return true
}
diff --git a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/blinkid-license.txt b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/blinkid-license.txt and b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/blinkid-license.txt differ
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
index 7390c142f..9c4f74b54 100644
--- a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
+++ b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
@@ -16,7 +16,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
return true
}
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/blinkid-license.txt b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/blinkid-license.txt and b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/blinkid-license.txt differ
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
index 5a7126dc4..afa93bfea 100644
--- a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
+++ b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
@@ -18,7 +18,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
return true
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/blinkid-license.txt b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/blinkid-license.txt and b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/blinkid-license.txt differ
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift b/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
index ddf53d5ef..8bcb16ab6 100644
--- a/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
+++ b/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
@@ -18,7 +18,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
return true
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift/License/blinkid-license.txt b/Samples/Templating-sample-swift/Templating-sample-swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/Templating-sample-swift/Templating-sample-swift/License/blinkid-license.txt and b/Samples/Templating-sample-swift/Templating-sample-swift/License/blinkid-license.txt differ
diff --git a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/blinkid-license.txt b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/blinkid-license.txt
index 0bed23491..dd578ef31 100644
Binary files a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/blinkid-license.txt and b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/blinkid-license.txt differ
diff --git a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift
index 89448a295..075f89206 100644
--- a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift
+++ b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift
@@ -17,7 +17,7 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
- // Valid until: 2019-07-03
+ // Valid until: 2019-10-10
MBMicroblinkSDK.sharedInstance().setLicenseResource("blinkid-license", withExtension: "txt", inSubdirectory: "", for: Bundle.main)
}
diff --git a/Transition guide.md b/Transition guide.md
index dd9d1d47f..35ee72032 100644
--- a/Transition guide.md
+++ b/Transition guide.md
@@ -1,3 +1,7 @@
+## 4.10.0
+
+- No changes
+
## 4.9.1
- No changes
diff --git a/buildCommit.txt b/buildCommit.txt
index 8561e2ca9..a03aec0ee 100644
--- a/buildCommit.txt
+++ b/buildCommit.txt
@@ -1 +1 @@
-Built from core repository commit c52a2e8335ee5456d1a8b37a3e1875ae57c1c1df
+Built from core repository commit c6a7d809f80ea6885cdc81f6d193e16547612899
diff --git a/docs/Classes.html b/docs/Classes.html
index 68902c2d5..52044ea3f 100644
--- a/docs/Classes.html
+++ b/docs/Classes.html
@@ -143,6 +143,24 @@
MBBlinkCardRecognizerResult
+
+ MBBlinkIdCombinedRecognizer
+
+
+ MBBlinkIdCombinedRecognizerResult
+
+
+ MBBlinkIdOverlaySettings
+
+
+ MBBlinkIdOverlayViewController
+
+
+ MBBlinkIdRecognizer
+
+
+ MBBlinkIdRecognizerResult
+
MBBlinkInputRecognizer
@@ -197,6 +215,9 @@
MBBruneiTemporaryResidencePermitFrontRecognizerResult
+
+ MBCameraReticle
+
MBCameraSettings
@@ -368,6 +389,9 @@
MBDotsSubview
+
+ MBDriverLicenseDetailedInfo
+
MBEgyptIdFrontRecognizer
@@ -383,6 +407,9 @@
MBEntity
+
+ MBErrorReticle
+
MBEudlRecognizer
@@ -515,9 +542,6 @@
MBKuwaitIdFrontRecognizerResult
-
- MBLegacyRecognizer
-
MBLicensePlatesParser
@@ -623,6 +647,12 @@
MBNewZealandDlFrontRecognizerResult
+
+ MBNigeriaVoterIdBackRecognizer
+
+
+ MBNigeriaVoterIdBackRecognizerResult
+
MBNoUpScalingDewarpPolicy
@@ -1064,6 +1094,15 @@
MBBlinkCardOverlayViewControllerDelegate
+
+ MBBlinkIdCombinedRecognizerDelegate
+
+
+ MBBlinkIdOverlayViewControllerDelegate
+
+
+ MBBlinkIdRecognizerDelegate
+
MBCombinedFullDocumentImageResult
@@ -2626,6 +2665,248 @@ Declaration
+
+
+
+
+
+
+
+
+
+
Recognizer which can scan front and back side of the United States driver license.
+
+
See more
+
+
+
Declaration
+
+
+
Swift
+
class MBBlinkIdCombinedRecognizer : MBRecognizer , NSCopying , MBCombinedRecognizer , MBDigitalSignature , MBFaceImage , MBEncodeFaceImage , MBFaceImageDpi , MBFullDocumentImage , MBEncodeFullDocumentImage , MBFullDocumentImageDpi , MBFullDocumentImageExtensionFactors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Recognizer which can scan front and back side of the United States driver license.
+
+
See more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Settings class containing parameters for BlinkId UI
+
+
See more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Default version of overlay view controller with modern design.
+
+
See more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Blink ID Recognizer is used for scanning Blink ID.
+
+
See more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Blink ID Recognizer is used for scanning Blink ID.
+
+
See more
+
+
+
+
+
+
+
@@ -3360,6 +3641,45 @@ Declaration
+
+
+
+
+
+
+
+
+
+
A camera reticle that locates at the center of screen and uses circle arc rotation to indicate that
+the system is active but has not detected an object yet.
+
+
See more
+
+
+
Declaration
+
+
Objective-C
+
+@interface MBCameraReticle : MBSubview
+
+
+
+
Swift
+
class MBCameraReticle : MBSubview
+
+
+
+
+
+
+
+
@@ -5625,6 +5945,62 @@ Declaration
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Objective-C
+
@interface MBDriverLicenseDetailedInfo : NSObject
+
+- ( instancetype ) init NS_UNAVAILABLE ;
+
+/**
+ * The restrictions to driving privileges for the United States driver license owner.
+ */
+@property ( nonatomic , readonly , nullable ) NSString * restrictions ;
+
+/**
+ * The additional privileges granted to the United States driver license owner.
+ */
+@property ( nonatomic , readonly , nullable ) NSString * endorsements ;
+
+/**
+ * The type of vehicle the driver license owner has privilege to drive.
+ */
+@property ( nonatomic , readonly , nullable ) NSString * vehicleClass ;
+
+@end
+
+
+
+
Swift
+
class MBDriverLicenseDetailedInfo : NSObject
+
+
+
+
+
+
+
+
@@ -5821,6 +6197,44 @@ Declaration
+
+
+
+
+
+
+
+
+
+
A camera reticle detection that locates at the center of screen and uses circular rotation to indicate that
+the system is active and has detected object.
+
+
+
+
Declaration
+
+
Objective-C
+
+@interface MBErrorReticle : MBSubview
+
+
+
+
Swift
+
class MBErrorReticle : MBSubview
+
+
+
+
+
+
+
+
@@ -7635,44 +8049,6 @@ Declaration
-
-
-
-
-
-
-
-
-
-
-
Declaration
-
-
Objective-C
-
-@interface MBLegacyRecognizer : MBRecognizer
-
-
-
-
-
-
-
-
-
@@ -9281,6 +9657,87 @@ Declaration
+
+
+
+
+
+
+
+
+
+
Recognizer which can scan back side of Nigeria voter ID cards.
+
+
See more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Recognizer which can scan back side of Nigeria voter ID cards.
+
+
See more
+
+
+
+
+
+
+
@@ -13693,7 +14150,7 @@ Declaration
+
+
+
+
+
+
+
+
+ PPBlinkID Reference
+
+ MBBlinkIdCombinedRecognizer Class Reference
+
+
+
+
+
+
+
+
+
+
+
MBBlinkIdCombinedRecognizer
+
+
Recognizer which can scan front and back side of the United States driver license.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declaration
+
+
Objective-C
+
MB_INIT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Result of scanning BlinkIDCombinedRecognizer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Called with dewarped full document image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Called when document is not supported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/Classes/MBAmountParser.html b/docs/Classes/MBAmountParser.html
index 72872f3e0..55c16a077 100644
--- a/docs/Classes/MBAmountParser.html
+++ b/docs/Classes/MBAmountParser.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAmountParserResult.html b/docs/Classes/MBAmountParserResult.html
index d5a3c58b7..afb23391e 100644
--- a/docs/Classes/MBAmountParserResult.html
+++ b/docs/Classes/MBAmountParserResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustraliaDlBackRecognizer.html b/docs/Classes/MBAustraliaDlBackRecognizer.html
index 5855826be..828df35a0 100644
--- a/docs/Classes/MBAustraliaDlBackRecognizer.html
+++ b/docs/Classes/MBAustraliaDlBackRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustraliaDlBackRecognizerResult.html b/docs/Classes/MBAustraliaDlBackRecognizerResult.html
index 34a475c54..5b8d68a5f 100644
--- a/docs/Classes/MBAustraliaDlBackRecognizerResult.html
+++ b/docs/Classes/MBAustraliaDlBackRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustraliaDlFrontRecognizer.html b/docs/Classes/MBAustraliaDlFrontRecognizer.html
index 0d6b5519f..33a4794c6 100644
--- a/docs/Classes/MBAustraliaDlFrontRecognizer.html
+++ b/docs/Classes/MBAustraliaDlFrontRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustraliaDlFrontRecognizerResult.html b/docs/Classes/MBAustraliaDlFrontRecognizerResult.html
index 5909bbf5e..2ecc870a8 100644
--- a/docs/Classes/MBAustraliaDlFrontRecognizerResult.html
+++ b/docs/Classes/MBAustraliaDlFrontRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaCombinedRecognizer.html b/docs/Classes/MBAustriaCombinedRecognizer.html
index 0f088a05a..008c35ad6 100644
--- a/docs/Classes/MBAustriaCombinedRecognizer.html
+++ b/docs/Classes/MBAustriaCombinedRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaCombinedRecognizerResult.html b/docs/Classes/MBAustriaCombinedRecognizerResult.html
index 1ea368029..020a4385e 100644
--- a/docs/Classes/MBAustriaCombinedRecognizerResult.html
+++ b/docs/Classes/MBAustriaCombinedRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaDlFrontRecognizer.html b/docs/Classes/MBAustriaDlFrontRecognizer.html
index 8d8384ec6..5d81c991d 100644
--- a/docs/Classes/MBAustriaDlFrontRecognizer.html
+++ b/docs/Classes/MBAustriaDlFrontRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaDlFrontRecognizerResult.html b/docs/Classes/MBAustriaDlFrontRecognizerResult.html
index 62e670452..898641ebe 100644
--- a/docs/Classes/MBAustriaDlFrontRecognizerResult.html
+++ b/docs/Classes/MBAustriaDlFrontRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaIdBackRecognizer.html b/docs/Classes/MBAustriaIdBackRecognizer.html
index 9431b2895..9c6a2df66 100644
--- a/docs/Classes/MBAustriaIdBackRecognizer.html
+++ b/docs/Classes/MBAustriaIdBackRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaIdBackRecognizerResult.html b/docs/Classes/MBAustriaIdBackRecognizerResult.html
index 64647140a..108af99eb 100644
--- a/docs/Classes/MBAustriaIdBackRecognizerResult.html
+++ b/docs/Classes/MBAustriaIdBackRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaIdFrontRecognizer.html b/docs/Classes/MBAustriaIdFrontRecognizer.html
index 1965319cf..bcfa99a49 100644
--- a/docs/Classes/MBAustriaIdFrontRecognizer.html
+++ b/docs/Classes/MBAustriaIdFrontRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaIdFrontRecognizerResult.html b/docs/Classes/MBAustriaIdFrontRecognizerResult.html
index 3b2d94ad8..cf8a19045 100644
--- a/docs/Classes/MBAustriaIdFrontRecognizerResult.html
+++ b/docs/Classes/MBAustriaIdFrontRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaPassportRecognizer.html b/docs/Classes/MBAustriaPassportRecognizer.html
index 376975878..5a1cdfc8b 100644
--- a/docs/Classes/MBAustriaPassportRecognizer.html
+++ b/docs/Classes/MBAustriaPassportRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBAustriaPassportRecognizerResult.html b/docs/Classes/MBAustriaPassportRecognizerResult.html
index 0cdf8dc51..75235204c 100644
--- a/docs/Classes/MBAustriaPassportRecognizerResult.html
+++ b/docs/Classes/MBAustriaPassportRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBarcodeOverlaySettings.html b/docs/Classes/MBBarcodeOverlaySettings.html
index 1d20f8111..205532d58 100644
--- a/docs/Classes/MBBarcodeOverlaySettings.html
+++ b/docs/Classes/MBBarcodeOverlaySettings.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBarcodeOverlayViewController.html b/docs/Classes/MBBarcodeOverlayViewController.html
index 5f97120ce..d20652558 100644
--- a/docs/Classes/MBBarcodeOverlayViewController.html
+++ b/docs/Classes/MBBarcodeOverlayViewController.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBarcodeRecognizer.html b/docs/Classes/MBBarcodeRecognizer.html
index db65f5e94..04c63e1b8 100644
--- a/docs/Classes/MBBarcodeRecognizer.html
+++ b/docs/Classes/MBBarcodeRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBarcodeRecognizerResult.html b/docs/Classes/MBBarcodeRecognizerResult.html
index 8829a3941..fb9a0bf95 100644
--- a/docs/Classes/MBBarcodeRecognizerResult.html
+++ b/docs/Classes/MBBarcodeRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBaseOcrEngineOptions.html b/docs/Classes/MBBaseOcrEngineOptions.html
index 19bc39436..25c0e37a0 100644
--- a/docs/Classes/MBBaseOcrEngineOptions.html
+++ b/docs/Classes/MBBaseOcrEngineOptions.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBaseOcrOverlaySettings.html b/docs/Classes/MBBaseOcrOverlaySettings.html
index 434db963d..822ff629c 100644
--- a/docs/Classes/MBBaseOcrOverlaySettings.html
+++ b/docs/Classes/MBBaseOcrOverlaySettings.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBaseOverlaySettings.html b/docs/Classes/MBBaseOverlaySettings.html
index eef12e1bf..c12207664 100644
--- a/docs/Classes/MBBaseOverlaySettings.html
+++ b/docs/Classes/MBBaseOverlaySettings.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBaseOverlayViewController.html b/docs/Classes/MBBaseOverlayViewController.html
index 7360d6a60..b79e4d083 100644
--- a/docs/Classes/MBBaseOverlayViewController.html
+++ b/docs/Classes/MBBaseOverlayViewController.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardEliteRecognizer.html b/docs/Classes/MBBlinkCardEliteRecognizer.html
index 30d963e6c..2ecd55201 100644
--- a/docs/Classes/MBBlinkCardEliteRecognizer.html
+++ b/docs/Classes/MBBlinkCardEliteRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardEliteRecognizerResult.html b/docs/Classes/MBBlinkCardEliteRecognizerResult.html
index 5f4a6b86d..ac123ef93 100644
--- a/docs/Classes/MBBlinkCardEliteRecognizerResult.html
+++ b/docs/Classes/MBBlinkCardEliteRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardOverlaySettings.html b/docs/Classes/MBBlinkCardOverlaySettings.html
index e738208cb..ca0118580 100644
--- a/docs/Classes/MBBlinkCardOverlaySettings.html
+++ b/docs/Classes/MBBlinkCardOverlaySettings.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardOverlayViewController.html b/docs/Classes/MBBlinkCardOverlayViewController.html
index bdc57edc2..0cd426c2d 100644
--- a/docs/Classes/MBBlinkCardOverlayViewController.html
+++ b/docs/Classes/MBBlinkCardOverlayViewController.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardRecognizer.html b/docs/Classes/MBBlinkCardRecognizer.html
index 2f28dc18f..ea11369de 100644
--- a/docs/Classes/MBBlinkCardRecognizer.html
+++ b/docs/Classes/MBBlinkCardRecognizer.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkCardRecognizerResult.html b/docs/Classes/MBBlinkCardRecognizerResult.html
index 6377d94a4..50904a88e 100644
--- a/docs/Classes/MBBlinkCardRecognizerResult.html
+++ b/docs/Classes/MBBlinkCardRecognizerResult.html
@@ -143,6 +143,24 @@
diff --git a/docs/Classes/MBBlinkIdCombinedRecognizer.html b/docs/Classes/MBBlinkIdCombinedRecognizer.html
new file mode 100644
index 000000000..4b0f39d01
--- /dev/null
+++ b/docs/Classes/MBBlinkIdCombinedRecognizer.html
@@ -0,0 +1,1600 @@
+
+
+