diff --git a/.swift-version b/.swift-version
index 5186d07..819e07a 100644
--- a/.swift-version
+++ b/.swift-version
@@ -1 +1 @@
-4.0
+5.0
diff --git a/.travis.yml b/.travis.yml
index e8e77d3..7c930c6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: objective-c
-osx_image: xcode9.3
+osx_image: xcode10.2
install: true
before_install: ./travis/before_script.sh
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfdaacc..92a3738 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,34 @@
# Release notes
+## 4.1.0
+
+- Updates and addtitions
+ - updated overlay view controllers with new icons for close and torch buttons
+ - switched to using HTTPS in podspec for Cocoapods
+ - enabled capturing high resolution camera frames:
+ When custom UI integration is performed, use - `(void)captureHighResImage:(MBCaptureHighResImage)highResoulutionImageCaptured on MBRecognizerRunnerViewController`
+ When using provided scan overlay view controllers, high resolution full camera frames taken at the moment of successful scan are returned if this option is enabled through `MBOverlaySettings`.
+ - Added support for checking if scanning is unsupported for camera type on `MBRecognizerRunnerViewController`
+ - Added `reconfigureRecognizers` method to `MBBaseOverlayViewController`, enabling it on all it's subclasses
+
+- Minor API changes
+ - renamed MicroBlink.framework to Microblink.framework
+ - renamed MicroBlink.bundle to Microblink.bundle
+ - `isScanningUnsupportedForCameraType:` is now class method of `MBMicroblinkSDK`
+
+- Bugfixes
+ - templating recognizers no longer execute callbacks with valid state once they are valid on every frame even if nothing is 'detected'
+ - fixed a crash which happened when scanning region was set before overlay view controller loaded, but after it was initialized
+ - fixed missing init in `MBDotsResultSubview` for Swift
+ - fix memory issue while using current frame grabber
+ - updated overlay view controllers for iPhone X Series
+ - Fixed bug where SDK crashed with exception when the user wanted to use custom resource bundle
+ - Calling `reconfigureRecognizers` before showing camera now correctly applies supplied recognizers
+ - Fixed autorotation of overlays and `MBRecognizerRunnerViewController`
+ - Fixed localization issues with some overlays
+ - Fixed constraint errors on `MBDocumentVerificationOverlayViewController`
+ - Various other bug fixes and improvements
+
## 4.0.0
- new API, which is not backward compatible. Please check [README](README.md) and updated demo applications for more information, but the gist of it is:
@@ -315,4 +344,4 @@
- Initial documentation added
- Implemented Two sample apps
- One for simple integration showing how OcrRecognizer can easily be included in the app
- - One with custom UI for FormScanning with Price, IBAN and Reference number parsing
\ No newline at end of file
+ - One with custom UI for FormScanning with Price, IBAN and Reference number parsing
diff --git a/MicroBlink.bundle/Close.png b/MicroBlink.bundle/Close.png
new file mode 100644
index 0000000..51e284e
Binary files /dev/null and b/MicroBlink.bundle/Close.png differ
diff --git a/MicroBlink.bundle/Close@2x.png b/MicroBlink.bundle/Close@2x.png
new file mode 100644
index 0000000..b0f1c9c
Binary files /dev/null and b/MicroBlink.bundle/Close@2x.png differ
diff --git a/MicroBlink.bundle/Close@3x.png b/MicroBlink.bundle/Close@3x.png
new file mode 100644
index 0000000..ef790c3
Binary files /dev/null and b/MicroBlink.bundle/Close@3x.png differ
diff --git a/MicroBlink.bundle/Info.plist b/MicroBlink.bundle/Info.plist
index cc8320b..fbec692 100644
Binary files a/MicroBlink.bundle/Info.plist and b/MicroBlink.bundle/Info.plist differ
diff --git a/MicroBlink.bundle/en.strings b/MicroBlink.bundle/en.strings
index f7eaf20..73a5007 100644
--- a/MicroBlink.bundle/en.strings
+++ b/MicroBlink.bundle/en.strings
@@ -10,3 +10,14 @@
"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";
diff --git a/MicroBlink.bundle/ic_flash_off.png b/MicroBlink.bundle/ic_flash_off.png
new file mode 100644
index 0000000..f7db816
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_off.png differ
diff --git a/MicroBlink.bundle/ic_flash_off@2x.png b/MicroBlink.bundle/ic_flash_off@2x.png
new file mode 100644
index 0000000..4f4053e
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_off@2x.png differ
diff --git a/MicroBlink.bundle/ic_flash_off@3x.png b/MicroBlink.bundle/ic_flash_off@3x.png
new file mode 100644
index 0000000..d28850d
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_off@3x.png differ
diff --git a/MicroBlink.bundle/ic_flash_on.png b/MicroBlink.bundle/ic_flash_on.png
new file mode 100644
index 0000000..44b4bbc
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_on.png differ
diff --git a/MicroBlink.bundle/ic_flash_on@2x.png b/MicroBlink.bundle/ic_flash_on@2x.png
new file mode 100644
index 0000000..11d4f9d
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_on@2x.png differ
diff --git a/MicroBlink.bundle/ic_flash_on@3x.png b/MicroBlink.bundle/ic_flash_on@3x.png
new file mode 100644
index 0000000..24a28f7
Binary files /dev/null and b/MicroBlink.bundle/ic_flash_on@3x.png differ
diff --git a/MicroBlink.bundle/model_arabic.zzip b/MicroBlink.bundle/model_arabic.zzip
index 907adb1..a1c82b2 100644
Binary files a/MicroBlink.bundle/model_arabic.zzip and b/MicroBlink.bundle/model_arabic.zzip differ
diff --git a/MicroBlink.bundle/model_general_blink_ocr.zzip b/MicroBlink.bundle/model_general_blink_ocr.zzip
index 24907d2..be9a855 100644
Binary files a/MicroBlink.bundle/model_general_blink_ocr.zzip and b/MicroBlink.bundle/model_general_blink_ocr.zzip differ
diff --git a/MicroBlink.bundle/model_micr.zzip b/MicroBlink.bundle/model_micr.zzip
index ad6d38f..78093fe 100644
Binary files a/MicroBlink.bundle/model_micr.zzip and b/MicroBlink.bundle/model_micr.zzip differ
diff --git a/MicroBlink.bundle/model_mrtd.zzip b/MicroBlink.bundle/model_mrtd.zzip
index 7dcbe8a..dd2c167 100644
Binary files a/MicroBlink.bundle/model_mrtd.zzip and b/MicroBlink.bundle/model_mrtd.zzip 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
new file mode 100644
index 0000000..1e0309a
Binary files /dev/null and b/MicroBlink.bundle/nn_model_BlinkInputOcr_general_5.1.0.zzip differ
diff --git a/MicroBlink.bundle/nn_model_BlinkInputOcr_kobe.zzip b/MicroBlink.bundle/nn_model_BlinkInputOcr_kobe.zzip
deleted file mode 100644
index 742f693..0000000
Binary files a/MicroBlink.bundle/nn_model_BlinkInputOcr_kobe.zzip and /dev/null differ
diff --git a/MicroBlink.framework/Headers/MBAmountParser.h b/MicroBlink.framework/Headers/MBAmountParser.h
index 1dad041..965126e 100644
--- a/MicroBlink.framework/Headers/MBAmountParser.h
+++ b/MicroBlink.framework/Headers/MBAmountParser.h
@@ -1,15 +1,15 @@
//
// MBAmountParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBAmountParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBAmountParserResult.h b/MicroBlink.framework/Headers/MBAmountParserResult.h
index 09d70b4..a243d29 100644
--- a/MicroBlink.framework/Headers/MBAmountParserResult.h
+++ b/MicroBlink.framework/Headers/MBAmountParserResult.h
@@ -1,13 +1,13 @@
//
// MBAmountParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBBarcodeEntities.h b/MicroBlink.framework/Headers/MBBarcodeEntities.h
new file mode 100644
index 0000000..2040afb
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBBarcodeEntities.h
@@ -0,0 +1,19 @@
+//
+// Microblink.h
+// MicroblinkFramework
+//
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 Microblink Ltd. All rights reserved.
+//
+
+// Pdf417
+#import "MBPdf417Recognizer.h"
+#import "MBPdf417RecognizerResult.h"
+
+// SimNumber
+#import "MBSimNumberRecognizer.h"
+#import "MBSimNumberRecognizerResult.h"
+
+// Barcode
+#import "MBBarcodeRecognizer.h"
+#import "MBBarcodeRecognizerResult.h"
diff --git a/MicroBlink.framework/Headers/MBBarcodeOverlaySettings.h b/MicroBlink.framework/Headers/MBBarcodeOverlaySettings.h
index 88b1475..a4808c6 100644
--- a/MicroBlink.framework/Headers/MBBarcodeOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBBarcodeOverlaySettings.h
@@ -1,6 +1,6 @@
//
// MBBarcodeUISettings.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 04/05/2018.
//
@@ -15,8 +15,18 @@ NS_ASSUME_NONNULL_BEGIN
MB_CLASS_AVAILABLE_IOS(8.0)
@interface MBBarcodeOverlaySettings : MBBaseOverlaySettings
+/**
+ * If YES, viewfinder (4 corner markers) will move when payslip is detected
+ *
+ * Default: YES
+ */
@property (nonatomic, assign) BOOL displayBarcodeDots;
+/**
+ * If YES; view finder will be displayed
+ *
+ * Default: YES
+ */
@property (nonatomic, assign) BOOL displayViewfinder;
@end
diff --git a/MicroBlink.framework/Headers/MBBarcodeOverlayViewController.h b/MicroBlink.framework/Headers/MBBarcodeOverlayViewController.h
index e169601..ec09767 100644
--- a/MicroBlink.framework/Headers/MBBarcodeOverlayViewController.h
+++ b/MicroBlink.framework/Headers/MBBarcodeOverlayViewController.h
@@ -3,7 +3,7 @@
// BarcodeFramework
//
// Created by Jura on 22/12/13.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import "MBBaseOverlayViewController.h"
diff --git a/MicroBlink.framework/Headers/MBBarcodeOverlayViewControllerDelegate.h b/MicroBlink.framework/Headers/MBBarcodeOverlayViewControllerDelegate.h
index 71efdd5..c601e03 100644
--- a/MicroBlink.framework/Headers/MBBarcodeOverlayViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBBarcodeOverlayViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBBarcodeOverlayViewControllerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 17/01/2018.
//
diff --git a/MicroBlink.framework/Headers/MBBarcodeRecognizer.h b/MicroBlink.framework/Headers/MBBarcodeRecognizer.h
index 5abd20e..2a419bd 100644
--- a/MicroBlink.framework/Headers/MBBarcodeRecognizer.h
+++ b/MicroBlink.framework/Headers/MBBarcodeRecognizer.h
@@ -1,16 +1,16 @@
//
// MBBarcodeRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 28/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBBarcodeRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
@@ -33,7 +33,7 @@ MB_INIT
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanAztec;
+@property (nonatomic, assign) BOOL scanAztecCode;
/**
* Set this to YES to scan Code 128 1D barcodes
@@ -61,42 +61,42 @@ MB_INIT
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanEAN13;
+@property (nonatomic, assign) BOOL scanEan13;
/**
* Set this to YES to scan EAN8 barcodes
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanEAN8;
+@property (nonatomic, assign) BOOL scanEan8;
/**
* Set this to YES to scan ITF barcodes
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanITF;
+@property (nonatomic, assign) BOOL scanItf;
/**
* Set this to YES to scan QR barcodes
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanQR;
+@property (nonatomic, assign) BOOL scanQrCode;
/**
* Set this to YES to scan UPCA barcodes
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanUPCA;
+@property (nonatomic, assign) BOOL scanUpca;
/**
* Set this to YES to scan UPCE barcodes
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL scanUPCE;
+@property (nonatomic, assign) BOOL scanUpce;
/**
* Set this to YES to scan Pdf417 barcodes
@@ -108,10 +108,9 @@ MB_INIT
/**
* Set this to YES to allow slower, but better image processing.
*
- * Defailt: YES
- *
+ * Default: YES
*/
-@property (nonatomic, assign) BOOL useSlowerThoroughScan;
+@property (nonatomic, assign) BOOL slowerThoroughScan;
/**
* Allow enabling the autodetection of image scale when scanning barcodes.
@@ -120,12 +119,16 @@ MB_INIT
* resolution images but slows down the recognition process.
*
* NOTE: This setting is applied only for Code39 and Code128 barcode scanning.
+*
+ * Default: YES
*/
@property (nonatomic, assign) BOOL autoScaleDetection;
/**
* Enable reading code39 barcode contents as extended data. For more information about code39
* extended data (a.k.a. full ASCII mode), see https://en.wikipedia.org/wiki/Code_39#Full_ASCII_Code_39
+*
+* Default: NO
*/
@property (nonatomic, assign) BOOL readCode39AsExtendedData;
@@ -156,7 +159,7 @@ MB_INIT
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL allowNullQuietZone;
+@property (nonatomic, assign) BOOL nullQuietZoneAllowed;
@end
diff --git a/MicroBlink.framework/Headers/MBBarcodeRecognizerResult.h b/MicroBlink.framework/Headers/MBBarcodeRecognizerResult.h
index d57214e..2e7a21e 100644
--- a/MicroBlink.framework/Headers/MBBarcodeRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBBarcodeRecognizerResult.h
@@ -1,13 +1,13 @@
//
// MBBarcodeRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 28/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
#import "MBBarcodeResult.h"
@@ -25,18 +25,18 @@ MB_INIT_UNAVAILABLE
/**
* Byte array with result of the scan
*/
-- (NSData *_Nullable)data;
+@property(nonatomic, strong, readonly, nullable) NSData* rawData;
/**
* Retrieves string content of scanned data
*/
-- (NSString *)stringData;
+@property(nonatomic, strong, readonly, nullable) NSString* stringData;
/**
* Flag indicating uncertain scanning data
* E.g obtained from damaged barcode.
*/
-- (BOOL)isUncertain;
+@property(nonatomic, assign, readonly) BOOL uncertain;
/**
* Method which gives string representation for a given PPBarcodeType enum value.
diff --git a/MicroBlink.framework/Headers/MBBarcodeResult.h b/MicroBlink.framework/Headers/MBBarcodeResult.h
index 91c0998..f64aba6 100644
--- a/MicroBlink.framework/Headers/MBBarcodeResult.h
+++ b/MicroBlink.framework/Headers/MBBarcodeResult.h
@@ -1,6 +1,6 @@
//
// MBBarcodeResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 28/11/2017.
//
diff --git a/MicroBlink.framework/Headers/MBBarcodeUIComponents.h b/MicroBlink.framework/Headers/MBBarcodeUIComponents.h
new file mode 100644
index 0000000..4e0f6d1
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBBarcodeUIComponents.h
@@ -0,0 +1,23 @@
+//
+// Microblink.h
+// MicroblinkFramework
+//
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 Microblink Ltd. All rights reserved.
+//
+
+// Overlay delegates
+#import "MBBarcodeOverlayViewControllerDelegate.h"
+
+// Overlays
+#import "MBBarcodeOverlayViewController.h"
+#import "MBBarcodeOverlaySettings.h"
+#import "MBCustomOverlayViewController.h"
+
+// Overlay subviews
+#import "MBDotsSubview.h"
+#import "MBDotsResultSubview.h"
+#import "MBModernViewfinderSubview.h"
+#import "MBTapToFocusSubview.h"
+#import "MBResultSubview.h"
+#import "MBGlareStatusSubview.h"
diff --git a/MicroBlink.framework/Headers/MBBaseOcrEngineOptions.h b/MicroBlink.framework/Headers/MBBaseOcrEngineOptions.h
index f5524ab..39ea7cb 100644
--- a/MicroBlink.framework/Headers/MBBaseOcrEngineOptions.h
+++ b/MicroBlink.framework/Headers/MBBaseOcrEngineOptions.h
@@ -8,7 +8,7 @@
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
@@ -19,24 +19,6 @@ NS_ASSUME_NONNULL_BEGIN
MB_CLASS_AVAILABLE_IOS(8.0)
@interface MBBaseOcrEngineOptions : NSObject
-/**
- * Minimal height of the line of text given in pixels. All chars smaller than this value will be ignored.
- *
- * Setting the minimal line height can reduce the noise in OCR results.
- *
- * Default: 10
- */
-@property (nonatomic, assign) NSUInteger minimalLineHeight;
-
-/**
- * Maximal height of the line of text given in pixels.
- *
- * Setting the maximal line height can reduce the noise in OCR results.
- *
- * Default: 200
- */
-@property (nonatomic, assign) NSUInteger maximalLineHeight;
-
/**
* Maximal chars expected on the image.
*
diff --git a/MicroBlink.framework/Headers/MBBaseOcrOverlaySettings.h b/MicroBlink.framework/Headers/MBBaseOcrOverlaySettings.h
index d8335a1..0495453 100644
--- a/MicroBlink.framework/Headers/MBBaseOcrOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBBaseOcrOverlaySettings.h
@@ -1,6 +1,6 @@
//
// MBBaseOcrOverlaySettings.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 04/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBBaseOverlaySettings.h b/MicroBlink.framework/Headers/MBBaseOverlaySettings.h
index 286141f..a9e10f5 100644
--- a/MicroBlink.framework/Headers/MBBaseOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBBaseOverlaySettings.h
@@ -1,6 +1,6 @@
//
// MBBaseOverlaySettings.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 04/05/2018.
//
@@ -26,14 +26,14 @@ MB_CLASS_AVAILABLE_IOS(8.0)
* If YES, default camera overlay will display Status bar.
* Usually, if camera is displayed inside Navigation View Controler, this is reasonable to set to YES.
*
- * Default: NO.
+ * Default: YES on iPhones with notch, NO otherwise.
*/
@property (nonatomic, assign) BOOL showStatusBar;
/**
* Default: UIInterfaceOrientationMaskPortrait
*/
-@property (nonatomic, assign) NSUInteger supportedOrientations;
+@property (nonatomic, assign) UIInterfaceOrientationMask supportedOrientations;
/**
* Full path to the sound file which is played when the valid result is scanned.
diff --git a/MicroBlink.framework/Headers/MBBaseOverlayViewController.h b/MicroBlink.framework/Headers/MBBaseOverlayViewController.h
index 1f322a1..e23518a 100644
--- a/MicroBlink.framework/Headers/MBBaseOverlayViewController.h
+++ b/MicroBlink.framework/Headers/MBBaseOverlayViewController.h
@@ -3,7 +3,7 @@
// BarcodeFramework
//
// Created by Jura on 06/06/14.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
@@ -18,6 +18,11 @@ NS_ASSUME_NONNULL_BEGIN
MB_CLASS_AVAILABLE_IOS(8.0)
@interface MBBaseOverlayViewController : MBOverlayViewController
+/**
+ * Reconfigures current recognizer collection to new recognizer collection. Use this method to reconfigure what you wish to scan.
+ */
+- (void)reconfigureRecognizers:(MBRecognizerCollection *)recognizerCollection;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/PPBlinkInputRecognizers.h b/MicroBlink.framework/Headers/MBBlinkInputEntities.h
similarity index 83%
rename from MicroBlink.framework/Headers/PPBlinkInputRecognizers.h
rename to MicroBlink.framework/Headers/MBBlinkInputEntities.h
index 146dbdf..91e8e20 100644
--- a/MicroBlink.framework/Headers/PPBlinkInputRecognizers.h
+++ b/MicroBlink.framework/Headers/MBBlinkInputEntities.h
@@ -1,13 +1,12 @@
//
-// PPBlinkInputRecognizers.h
-// BlinkOcrFramework
+// Microblink.h
+// MicroblinkFramework
//
-// Created by Dino on 27/09/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 Microblink Ltd. All rights reserved.
//
-#ifndef PPBlinkInputRecognizers_h
-#define PPBlinkInputRecognizers_h
+#import "MBBarcodeEntities.h"
/** MRTD Detector*/
#import "MBMrtdDetector.h"
@@ -49,6 +48,10 @@
#import "MBDateParser.h"
#import "MBDateParserResult.h"
+// VIN
+#import "MBVinRecognizer.h"
+#import "MBVinRecognizerResult.h"
+
// Raw
#import "MBRawParser.h"
#import "MBRawParserResult.h"
@@ -93,8 +96,3 @@
// Native result
#import "MBNativeResult.h"
#import "MBDateResult.h"
-
-// Use all recognizers from BlinkBarcode
-#import "PPBlinkBarcodeRecognizers.h"
-
-#endif /* PPBlinkInputRecognizers_h */
diff --git a/MicroBlink.framework/Headers/MBBlinkInputRecognizer.h b/MicroBlink.framework/Headers/MBBlinkInputRecognizer.h
index b26653a..1c2d68e 100644
--- a/MicroBlink.framework/Headers/MBBlinkInputRecognizer.h
+++ b/MicroBlink.framework/Headers/MBBlinkInputRecognizer.h
@@ -1,15 +1,15 @@
//
// MBBlinkInputRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBBlinkInputRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
@class MBProcessor;
diff --git a/MicroBlink.framework/Headers/MBBlinkInputRecognizerResult.h b/MicroBlink.framework/Headers/MBBlinkInputRecognizerResult.h
index 291b98a..5f0b1e3 100644
--- a/MicroBlink.framework/Headers/MBBlinkInputRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBBlinkInputRecognizerResult.h
@@ -1,15 +1,15 @@
//
// MBBlinkInputRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBBlinkInputUIComponents.h b/MicroBlink.framework/Headers/MBBlinkInputUIComponents.h
new file mode 100644
index 0000000..2b5eac6
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBBlinkInputUIComponents.h
@@ -0,0 +1,17 @@
+//
+// Microblink.h
+// MicroblinkFramework
+//
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 Microblink Ltd. All rights reserved.
+//
+
+#import "MBBarcodeUIComponents.h"
+
+// Overlays
+#import "MBFieldByFieldOverlayViewController.h"
+#import "MBFieldByFieldOverlaySettings.h"
+
+// Overlay subviews
+#import "MBOcrResultSubview.h"
+#import "MBOcrLayoutSubview.h"
diff --git a/MicroBlink.framework/Headers/MBCameraSettings.h b/MicroBlink.framework/Headers/MBCameraSettings.h
index 91ea18b..f375f12 100644
--- a/MicroBlink.framework/Headers/MBCameraSettings.h
+++ b/MicroBlink.framework/Headers/MBCameraSettings.h
@@ -3,60 +3,60 @@
// PhotoPayFramework
//
// Created by Jura on 23/02/15.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
/**
* Camera resolution preset
*/
-typedef NS_ENUM(NSUInteger, PPCameraPreset) {
+typedef NS_ENUM(NSUInteger, MBCameraPreset) {
/** 480p video will always be used */
- PPCameraPreset480p,
+ MBCameraPreset480p,
/** 720p video will always be used */
- PPCameraPreset720p,
+ MBCameraPreset720p,
/** The library will calculate optimal resolution based on the use case and device used */
- PPCameraPresetOptimal,
+ MBCameraPresetOptimal,
/** Device's maximal video resolution will be used. */
- PPCameraPresetMax,
+ MBCameraPresetMax,
/** Device's photo preview resolution will be used */
- PPCameraPresetPhoto,
+ MBCameraPresetPhoto,
};
/**
* Camera type
*/
-typedef NS_ENUM(NSUInteger, PPCameraType) {
+typedef NS_ENUM(NSUInteger, MBCameraType) {
/** Back facing camera */
- PPCameraTypeBack,
+ MBCameraTypeBack,
/** Front facing camera */
- PPCameraTypeFront
+ MBCameraTypeFront
};
/**
* Camera autofocus restricion mode
*/
-typedef NS_ENUM(NSUInteger, PPCameraAutofocusRestriction) {
+typedef NS_ENUM(NSUInteger, MBCameraAutofocusRestriction) {
/** Default. Indicates that the autofocus system should not restrict the focus range. */
- PPCameraAutofocusRestrictionNone,
+ MBCameraAutofocusRestrictionNone,
/** Indicates that the autofocus system should restrict the focus range for subject matter that is near to the camera. */
- PPCameraAutofocusRestrictionNear,
+ MBCameraAutofocusRestrictionNear,
/** Indicates that the autofocus system should restrict the focus range for subject matter that is far from the camera. */
- PPCameraAutofocusRestrictionFar,
+ MBCameraAutofocusRestrictionFar,
};
/**
@@ -70,14 +70,14 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*
* Default: PPCameraPresetOptimal
*/
-@property (nonatomic, assign) PPCameraPreset cameraPreset;
+@property (nonatomic, assign) MBCameraPreset cameraPreset;
/**
* Camera type. You can choose between front and back facing.
*
- * Default: PPCameraTypeBack
+ * Default: MBCameraTypeBack
*/
-@property (nonatomic, assign) PPCameraType cameraType;
+@property (nonatomic, assign) MBCameraType cameraType;
/**
* Interval between forcing two camera focuses. If <= 0, forced focuses arent performed
@@ -94,7 +94,7 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*
* Default: PPCameraAutofocusRestrictionNone
*/
-@property (nonatomic, assign) PPCameraAutofocusRestriction cameraAutofocusRestriction;
+@property (nonatomic, assign) MBCameraAutofocusRestriction cameraAutofocusRestriction;
/**
* Gravity of Camera preview on screen.
diff --git a/MicroBlink.framework/Headers/MBCustomOverlayViewController.h b/MicroBlink.framework/Headers/MBCustomOverlayViewController.h
index ddaef8f..3bf9bac 100644
--- a/MicroBlink.framework/Headers/MBCustomOverlayViewController.h
+++ b/MicroBlink.framework/Headers/MBCustomOverlayViewController.h
@@ -1,12 +1,12 @@
//
// MBCustomOverlayViewController.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 25/04/2018.
//
#import "MBOverlayViewController.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBBaseOverlaySettings.h"
#import "MBRecognizerRunnerViewControllerMetadataDelegates.h"
@@ -45,6 +45,8 @@ MB_CLASS_AVAILABLE_IOS(8.0)
* Defines a portion of the screen in which the scanning will be performed.
* Given as a CGRect with unit coordinating system:
*
+ * @warning Should only be set AFTER RecognizerRunnerViewController has been instantiated with this CustomOverlayViewController, or else it will not have any effect.
+ *
* @example CGRectMake(0.2f, 0.5f, 0.4f, 0.3f) defines a portion of the screen which starts at
* 20% from the left border
* 50% from the top
@@ -73,6 +75,9 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*/
@property (nonatomic, assign) NSUInteger supportedOrientations;
+/**
+ * Reconfigures current recognizer collection to new recognizer collection. Use this method to reconfigure what you wish to scan.
+ */
- (void)reconfigureRecognizers:(MBRecognizerCollection *)recognizerCollection;
@end
diff --git a/MicroBlink.framework/Headers/MBDPIBasedDewarpPolicy.h b/MicroBlink.framework/Headers/MBDPIBasedDewarpPolicy.h
index aa8c2c0..803bf07 100644
--- a/MicroBlink.framework/Headers/MBDPIBasedDewarpPolicy.h
+++ b/MicroBlink.framework/Headers/MBDPIBasedDewarpPolicy.h
@@ -1,12 +1,12 @@
//
// MBDPIBasedDewarpPolicy.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDewarpPolicy.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDateParser.h b/MicroBlink.framework/Headers/MBDateParser.h
index 17693aa..99c9a86 100644
--- a/MicroBlink.framework/Headers/MBDateParser.h
+++ b/MicroBlink.framework/Headers/MBDateParser.h
@@ -1,15 +1,15 @@
//
// MBDateParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 12/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBDateParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
/**
* Available date formats for date parser. To activate parsing of dates with month names in
diff --git a/MicroBlink.framework/Headers/MBDateParserResult.h b/MicroBlink.framework/Headers/MBDateParserResult.h
index f80ffce..4eff148 100644
--- a/MicroBlink.framework/Headers/MBDateParserResult.h
+++ b/MicroBlink.framework/Headers/MBDateParserResult.h
@@ -1,13 +1,13 @@
//
// MBDateParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 12/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
#import "MBDateResult.h"
diff --git a/MicroBlink.framework/Headers/MBDateResult.h b/MicroBlink.framework/Headers/MBDateResult.h
index fa71b28..db59972 100644
--- a/MicroBlink.framework/Headers/MBDateResult.h
+++ b/MicroBlink.framework/Headers/MBDateResult.h
@@ -3,11 +3,11 @@
// BlinkIdFramework
//
// Created by DoDo on 07/11/2016.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBNativeResult.h"
/**
@@ -47,7 +47,7 @@ MB_CLASS_AVAILABLE_IOS(8.0)
/**
* NSDate object which represents the same date as this result
*/
-@property (nonatomic, readonly, nonnull) NSDate *date;
+@property (nonatomic, readonly, nullable) NSDate *date;
/**
* Day in month.
diff --git a/MicroBlink.framework/Headers/MBDebugRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBDebugRecognizerRunnerDelegate.h
index 44946bf..0a638e2 100644
--- a/MicroBlink.framework/Headers/MBDebugRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBDebugRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// MBDebugRecognizerRunnerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 04/01/2018.
//
diff --git a/MicroBlink.framework/Headers/MBDebugRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBDebugRecognizerRunnerViewControllerDelegate.h
index 927f97b..116d647 100644
--- a/MicroBlink.framework/Headers/MBDebugRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBDebugRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBDebugRecognizerRunnerViewDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 04/01/2018.
//
diff --git a/MicroBlink.framework/Headers/MBDeepOcrEngineOptions.h b/MicroBlink.framework/Headers/MBDeepOcrEngineOptions.h
index 66c368d..6df50ed 100644
--- a/MicroBlink.framework/Headers/MBDeepOcrEngineOptions.h
+++ b/MicroBlink.framework/Headers/MBDeepOcrEngineOptions.h
@@ -8,7 +8,7 @@
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBBaseOcrEngineOptions.h"
NS_ASSUME_NONNULL_BEGIN
@@ -20,7 +20,6 @@ typedef NS_ENUM(NSUInteger, MBDeepOcrModel) {
/** Deep OCR model for Blink Input */
MBDeepOcrModelBlinkInput
-
};
/**
diff --git a/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerDelegate.h
index 94b1867..60c273d 100644
--- a/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// MBDetectionRecognizerRunnerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h
index 192c6d7..251d832 100644
--- a/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBDetectionRecognizerRunnerViewDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 18/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBDetectionStatus.h b/MicroBlink.framework/Headers/MBDetectionStatus.h
index 7620260..19d45f4 100644
--- a/MicroBlink.framework/Headers/MBDetectionStatus.h
+++ b/MicroBlink.framework/Headers/MBDetectionStatus.h
@@ -1,12 +1,12 @@
//
// MBDetectionStatus.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 08/12/2017.
//
/**
- * Status of the object detection in MicroBlink SDK
+ * Status of the object detection in Microblink SDK
*/
typedef NS_OPTIONS(NSInteger, MBDetectionStatus) {
diff --git a/MicroBlink.framework/Headers/MBDetector.h b/MicroBlink.framework/Headers/MBDetector.h
index 7d5e29f..f64c127 100644
--- a/MicroBlink.framework/Headers/MBDetector.h
+++ b/MicroBlink.framework/Headers/MBDetector.h
@@ -1,12 +1,12 @@
//
// MBDetector.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 19/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBEntity.h"
#import "MBDetectorResult.h"
diff --git a/MicroBlink.framework/Headers/MBDetectorRecognizer.h b/MicroBlink.framework/Headers/MBDetectorRecognizer.h
index eeecbd9..49c2e72 100644
--- a/MicroBlink.framework/Headers/MBDetectorRecognizer.h
+++ b/MicroBlink.framework/Headers/MBDetectorRecognizer.h
@@ -1,16 +1,16 @@
//
// MBDetectorRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBTemplatingRecognizer.h"
#import "MBDetectorRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
@class MBQuadWithSizeDetector;
diff --git a/MicroBlink.framework/Headers/MBDetectorRecognizerResult.h b/MicroBlink.framework/Headers/MBDetectorRecognizerResult.h
index adfcfce..be5bbca 100644
--- a/MicroBlink.framework/Headers/MBDetectorRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBDetectorRecognizerResult.h
@@ -1,12 +1,12 @@
//
// MBDetectorRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBTemplatingRecognizerResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDetectorResult.h b/MicroBlink.framework/Headers/MBDetectorResult.h
index 971509e..c0228e2 100644
--- a/MicroBlink.framework/Headers/MBDetectorResult.h
+++ b/MicroBlink.framework/Headers/MBDetectorResult.h
@@ -1,12 +1,12 @@
//
// MBDetectorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 19/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDetectionStatus.h"
/**
diff --git a/MicroBlink.framework/Headers/MBDewarpPolicy.h b/MicroBlink.framework/Headers/MBDewarpPolicy.h
index 24dd62d..39104da 100644
--- a/MicroBlink.framework/Headers/MBDewarpPolicy.h
+++ b/MicroBlink.framework/Headers/MBDewarpPolicy.h
@@ -1,12 +1,12 @@
//
// MBDewarpPolicy.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDisplayableDetection.h b/MicroBlink.framework/Headers/MBDisplayableDetection.h
index da8166f..2001815 100644
--- a/MicroBlink.framework/Headers/MBDisplayableDetection.h
+++ b/MicroBlink.framework/Headers/MBDisplayableDetection.h
@@ -1,6 +1,6 @@
//
// MBDisplayableDetection.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 08/12/2017.
//
@@ -8,7 +8,7 @@
#import "MBDisplayableObject.h"
#import "MBDetectionStatus.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDisplayableObject.h b/MicroBlink.framework/Headers/MBDisplayableObject.h
index a9cb11b..05dae59 100644
--- a/MicroBlink.framework/Headers/MBDisplayableObject.h
+++ b/MicroBlink.framework/Headers/MBDisplayableObject.h
@@ -1,12 +1,12 @@
//
// MBDisplayableObject.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 08/12/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDisplayablePointsDetection.h b/MicroBlink.framework/Headers/MBDisplayablePointsDetection.h
index c010b24..018074d 100644
--- a/MicroBlink.framework/Headers/MBDisplayablePointsDetection.h
+++ b/MicroBlink.framework/Headers/MBDisplayablePointsDetection.h
@@ -1,12 +1,12 @@
//
// MBDisplayablePointsDetection.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 19/12/2017.
//
#import "MBDisplayableDetection.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDisplayableQuadDetection.h b/MicroBlink.framework/Headers/MBDisplayableQuadDetection.h
index ebc3ae1..48f6972 100644
--- a/MicroBlink.framework/Headers/MBDisplayableQuadDetection.h
+++ b/MicroBlink.framework/Headers/MBDisplayableQuadDetection.h
@@ -1,6 +1,6 @@
//
// MBDisplayableQuadDetection.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 08/12/2017.
//
@@ -8,7 +8,7 @@
#import "MBDisplayableDetection.h"
#import "MBQuadrangle.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDocumentDetector.h b/MicroBlink.framework/Headers/MBDocumentDetector.h
index 6edc0a6..7b2d8c0 100644
--- a/MicroBlink.framework/Headers/MBDocumentDetector.h
+++ b/MicroBlink.framework/Headers/MBDocumentDetector.h
@@ -1,16 +1,16 @@
//
// MBDocumentDetector.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBQuadWithSizeDetector.h"
#import "MBDocumentDetectorResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBDocumentSpecification.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDocumentDetectorResult.h b/MicroBlink.framework/Headers/MBDocumentDetectorResult.h
index 489bd0f..22f6b93 100644
--- a/MicroBlink.framework/Headers/MBDocumentDetectorResult.h
+++ b/MicroBlink.framework/Headers/MBDocumentDetectorResult.h
@@ -1,13 +1,13 @@
//
// MBDocumentDetectorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBQuadWithSizeDetectorResult.h"
#import "MBDocumentSpecification.h"
diff --git a/MicroBlink.framework/Headers/MBDocumentOverlaySettings.h b/MicroBlink.framework/Headers/MBDocumentOverlaySettings.h
index d019d98..8fb011d 100644
--- a/MicroBlink.framework/Headers/MBDocumentOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBDocumentOverlaySettings.h
@@ -1,6 +1,6 @@
//
// MBDocumentOverlaySettings.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 04/05/2018.
//
@@ -15,7 +15,34 @@ NS_ASSUME_NONNULL_BEGIN
MB_CLASS_AVAILABLE_IOS(8.0)
@interface MBDocumentOverlaySettings : MBBaseOcrOverlaySettings
-@property (nonatomic) BOOL viewfinderMoveable;
+/**
+ * Gets/sets tootlip text that is defines under document view finder.
+ *
+ * Default: string defined by "photopay_id_position_tooltip"
+ * key in strings file in Microblink.bundle
+ */
+@property(nonatomic, strong) NSString *tooltipText;
+
+/**
+ * Returns/sets glare status message that is shown if glare detection is turned on
+ * and it is shown if glare is detected.
+ *
+ * Default: string defined by "photopay_glare_status"
+ * key in strings file in Microblink.bundle
+ */
+@property(nonatomic, strong) NSString *glareStatusMessage;
+
+/**
+ * Gets/sets tooltip visibility
+ */
+@property(nonatomic, assign) BOOL showTooltip;
+
+/**
+ * Gets/sets capturing of high resolution image
+ *
+ * Default: NO
+ */
+@property(nonatomic, assign) BOOL captureHighResImage;
@end
diff --git a/MicroBlink.framework/Headers/MBDocumentSpecification.h b/MicroBlink.framework/Headers/MBDocumentSpecification.h
index e436a7a..9b237c0 100644
--- a/MicroBlink.framework/Headers/MBDocumentSpecification.h
+++ b/MicroBlink.framework/Headers/MBDocumentSpecification.h
@@ -3,11 +3,11 @@
// BlinkIdFramework
//
// Created by Jura on 07/01/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBDotsResultSubview.h b/MicroBlink.framework/Headers/MBDotsResultSubview.h
index a5871c4..0e7aa10 100644
--- a/MicroBlink.framework/Headers/MBDotsResultSubview.h
+++ b/MicroBlink.framework/Headers/MBDotsResultSubview.h
@@ -3,12 +3,11 @@
// PhotoPayFramework
//
// Created by Marko Mihovilić on 05/09/14.
-// Copyright (c) 2014 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2014 Microblink Ltd. All rights reserved.
//
#import "MBSubview.h"
#import "MBPointDetectorSubview.h"
-#import "MBOcrLayoutSubview.h"
NS_ASSUME_NONNULL_BEGIN
@@ -16,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
* Overlay subview presenting status of OCR detection. Dots are displayed over locations of detected characters.
*/
MB_CLASS_AVAILABLE_IOS(8.0)
-@interface MBDotsResultSubview : MBSubview
+@interface MBDotsResultSubview : MBSubview
/**
* Foreground color of dots.
diff --git a/MicroBlink.framework/Headers/MBDotsSubview.h b/MicroBlink.framework/Headers/MBDotsSubview.h
index 352371c..e70667c 100644
--- a/MicroBlink.framework/Headers/MBDotsSubview.h
+++ b/MicroBlink.framework/Headers/MBDotsSubview.h
@@ -3,7 +3,7 @@
// BarcodeFramework
//
// Created by Jura on 06/06/14.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import "MBSubview.h"
@@ -37,9 +37,11 @@ MB_CLASS_AVAILABLE_IOS(8.0)
/**
Initializes the layer
*/
-- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithFrame:(CGRect)frame;
-- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE;
+- (nonnull instancetype)initWithCoder:(NSCoder *)aDecoder;
+
+- (instancetype)init NS_UNAVAILABLE;
@end
diff --git a/MicroBlink.framework/Headers/MBEmailParser.h b/MicroBlink.framework/Headers/MBEmailParser.h
index 946f1b0..cd94264 100644
--- a/MicroBlink.framework/Headers/MBEmailParser.h
+++ b/MicroBlink.framework/Headers/MBEmailParser.h
@@ -1,15 +1,15 @@
//
// MBEmailParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBEmailParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBEmailParserResult.h b/MicroBlink.framework/Headers/MBEmailParserResult.h
index b097c5b..6a67cad 100644
--- a/MicroBlink.framework/Headers/MBEmailParserResult.h
+++ b/MicroBlink.framework/Headers/MBEmailParserResult.h
@@ -1,12 +1,12 @@
//
// MBEmailParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBEntities.h b/MicroBlink.framework/Headers/MBEntities.h
new file mode 100644
index 0000000..71db273
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBEntities.h
@@ -0,0 +1,9 @@
+//
+// MBEntities.h
+// MicroBlinkFramework
+//
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 MicroBlink Ltd. All rights reserved.
+//
+
+#import "MBBlinkInputEntities.h"
diff --git a/MicroBlink.framework/Headers/MBEntity.h b/MicroBlink.framework/Headers/MBEntity.h
index b699ea8..1c5fdd0 100644
--- a/MicroBlink.framework/Headers/MBEntity.h
+++ b/MicroBlink.framework/Headers/MBEntity.h
@@ -1,13 +1,13 @@
//
// MBEntity.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBFieldByFieldOverlaySettings.h b/MicroBlink.framework/Headers/MBFieldByFieldOverlaySettings.h
index 51d1763..30b3c99 100644
--- a/MicroBlink.framework/Headers/MBFieldByFieldOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBFieldByFieldOverlaySettings.h
@@ -1,6 +1,6 @@
//
// MBFieldByFieldUISettings.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 04/05/2018.
//
@@ -49,6 +49,29 @@ MB_INIT_UNAVAILABLE;
*/
@property(nonatomic) NSUInteger consecutiveScanThreshold;
+/**
+ * Background color of successful scan result
+ */
+@property(nonatomic) UIColor *scanResultViewColor;
+
+/**
+ * Returns/sets next button description text that is shown above next button
+ * when there are still scanning elements left to be scanned
+ *
+ * Default: string defined by "field_by_field_next_button_description"
+ * key in strings file in Microblink.bundle
+ */
+@property(nonatomic, strong) NSString *nextButtonDescriptionText;
+
+/**
+ * Returns/sets next button description text that is shown above next button
+ * when there are no scanning elements left to be scanned
+ *
+ * Default: string defined by "field_by_field_last_next_button_description"
+ * key in strings file in Microblink.bundle
+ */
+@property(nonatomic, strong) NSString *nextButtonLastDescriptionText;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBFixedDewarpPolicy.h b/MicroBlink.framework/Headers/MBFixedDewarpPolicy.h
index 4fbcc9d..ecacdb2 100644
--- a/MicroBlink.framework/Headers/MBFixedDewarpPolicy.h
+++ b/MicroBlink.framework/Headers/MBFixedDewarpPolicy.h
@@ -1,12 +1,12 @@
//
// MBFixedDewarpPolicy.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDewarpPolicy.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBFrameGrabberRecognizer.h b/MicroBlink.framework/Headers/MBFrameGrabberRecognizer.h
index 2208bad..d23d82b 100644
--- a/MicroBlink.framework/Headers/MBFrameGrabberRecognizer.h
+++ b/MicroBlink.framework/Headers/MBFrameGrabberRecognizer.h
@@ -1,12 +1,12 @@
//
// MBFrameGrabberRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/01/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
@protocol MBFrameGrabberRecognizerDelegate;
diff --git a/MicroBlink.framework/Headers/MBGeometry.h b/MicroBlink.framework/Headers/MBGeometry.h
index c72fcb3..a9194ec 100644
--- a/MicroBlink.framework/Headers/MBGeometry.h
+++ b/MicroBlink.framework/Headers/MBGeometry.h
@@ -3,7 +3,7 @@
// BarcodeFramework
//
// Created by Jura on 03/08/14.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import "TargetConditionals.h"
@@ -15,7 +15,7 @@
#import
#endif
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#define NULL_NUMBER INFINITY
#define NULL_POINT CGPointMake(NULL_NUMBER, NULL_NUMBER)
diff --git a/MicroBlink.framework/Headers/MBGlareRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBGlareRecognizerRunnerDelegate.h
index f0f3a4e..d1e9eac 100644
--- a/MicroBlink.framework/Headers/MBGlareRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBGlareRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// MBGlareRecognizerRunnerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by DoDo on 24/04/2018.
//
diff --git a/MicroBlink.framework/Headers/MBGlareRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBGlareRecognizerRunnerViewControllerDelegate.h
index e53303f..c1f4a59 100644
--- a/MicroBlink.framework/Headers/MBGlareRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBGlareRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBGlareRecognizerRunnerViewControllerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by DoDo on 24/04/2018.
//
diff --git a/MicroBlink.framework/Headers/MBGlareStatusSubview.h b/MicroBlink.framework/Headers/MBGlareStatusSubview.h
new file mode 100644
index 0000000..b68c839
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBGlareStatusSubview.h
@@ -0,0 +1,32 @@
+//
+// MBGlareStatusSubview.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 14/09/2017.
+//
+//
+
+#import "MBSubview.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Overlay subview presenting the status of glare detection.
+ * The subview is presented as translucent view with detection status label in the center of ID Card View Finder View
+ */
+MB_CLASS_AVAILABLE_IOS(8.0)
+@interface MBGlareStatusSubview : MBSubview
+
+@property (nonatomic) UILabel *label;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE;
+
+- (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
+
+- (void)glareDetectionFinishedWithResult:(BOOL)glareFound;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBIbanParser.h b/MicroBlink.framework/Headers/MBIbanParser.h
index a2ed86b..8ca2b82 100644
--- a/MicroBlink.framework/Headers/MBIbanParser.h
+++ b/MicroBlink.framework/Headers/MBIbanParser.h
@@ -1,15 +1,15 @@
//
// MBIbanParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBIbanParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBIbanParserResult.h b/MicroBlink.framework/Headers/MBIbanParserResult.h
index a2bc725..205fe47 100644
--- a/MicroBlink.framework/Headers/MBIbanParserResult.h
+++ b/MicroBlink.framework/Headers/MBIbanParserResult.h
@@ -1,13 +1,13 @@
//
// MBIbanParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBImage.h b/MicroBlink.framework/Headers/MBImage.h
index eaa7a51..9a8f285 100644
--- a/MicroBlink.framework/Headers/MBImage.h
+++ b/MicroBlink.framework/Headers/MBImage.h
@@ -3,12 +3,12 @@
// BlinkIdFramework
//
// Created by Dino on 25/02/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#import "Foundation/Foundation.h"
#import "CoreMedia/CoreMedia.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
@@ -86,10 +86,15 @@ MB_CLASS_AVAILABLE_IOS(8.0)
+ (instancetype)imageWithUIImage:(UIImage *)image;
/**
- * Creates PPImage around CVImageBufferRef.
+ * Creates MBImage around CVImageBufferRef.
*/
+ (instancetype)imageWithCmSampleBuffer:(CMSampleBufferRef)buffer;
+/**
+ * Creates MBImage around CVPixelBufferRef.
+ */
++ (instancetype)imageWithCvPixelBuffer:(CVPixelBufferRef)buffer;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBImageProcessingRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBImageProcessingRecognizerRunnerDelegate.h
index 98da5de..887cfd3 100644
--- a/MicroBlink.framework/Headers/MBImageProcessingRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBImageProcessingRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// MBImageProcessingDelegate.h
-// MicroBlink
+// Microblink
//
// Created by DoDo on 07/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBImageReturnProcessor.h b/MicroBlink.framework/Headers/MBImageReturnProcessor.h
index 955ecbc..a834eae 100644
--- a/MicroBlink.framework/Headers/MBImageReturnProcessor.h
+++ b/MicroBlink.framework/Headers/MBImageReturnProcessor.h
@@ -1,6 +1,6 @@
//
// MBImageReturnProcessor.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 23/03/2018.
//
@@ -8,8 +8,8 @@
#import
#import "MBProcessor.h"
#import "MBImageReturnProcessorResult.h"
-#import "MBMicroBlinkDefines.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkDefines.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBImageReturnProcessorResult.h b/MicroBlink.framework/Headers/MBImageReturnProcessorResult.h
index 7d95fe0..17f4e4e 100644
--- a/MicroBlink.framework/Headers/MBImageReturnProcessorResult.h
+++ b/MicroBlink.framework/Headers/MBImageReturnProcessorResult.h
@@ -1,12 +1,12 @@
//
// MBImageReturnProcessorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 23/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBProcessorResult.h"
@class MBImage;
diff --git a/MicroBlink.framework/Headers/MBLicensePlatesParser.h b/MicroBlink.framework/Headers/MBLicensePlatesParser.h
index 8e08dd0..0ad0e14 100644
--- a/MicroBlink.framework/Headers/MBLicensePlatesParser.h
+++ b/MicroBlink.framework/Headers/MBLicensePlatesParser.h
@@ -1,15 +1,15 @@
//
// MBLicensePlatesParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBLicensePlatesParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBLicensePlatesParserResult.h b/MicroBlink.framework/Headers/MBLicensePlatesParserResult.h
index f7afd98..54661ba 100644
--- a/MicroBlink.framework/Headers/MBLicensePlatesParserResult.h
+++ b/MicroBlink.framework/Headers/MBLicensePlatesParserResult.h
@@ -1,12 +1,12 @@
//
// MBLicensePlatesParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBMicroBlinkDefines.h b/MicroBlink.framework/Headers/MBMicroBlinkDefines.h
index e46bc16..5fa8e9a 100644
--- a/MicroBlink.framework/Headers/MBMicroBlinkDefines.h
+++ b/MicroBlink.framework/Headers/MBMicroBlinkDefines.h
@@ -1,6 +1,6 @@
//
// MBMicroblinkDefines.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by DoDo on 12/04/2018.
//
@@ -8,8 +8,9 @@
#ifndef MBMicroblinkDefines_h
#define MBMicroblinkDefines_h
-#import "PPMicroBlinkDefines.h"
-#import "MBMicroBlinkInitialization.h"
+#import "PPMicroblinkDefines.h"
+#import "MBMicroblinkInitialization.h"
+#import "AvailabilityMacros.h"
#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
# define MB_FINAL __attribute__((objc_subclassing_restricted))
@@ -18,5 +19,8 @@
#endif
#define MB_CLASS_AVAILABLE_IOS PP_CLASS_AVAILABLE_IOS
+#define MB_CLASS_DEPRECATED_IOS PP_CLASS_DEPRECATED_IOS
+#define MB_PROPERTY_DEPRECATED DEPRECATED_ATTRIBUTE
+#define MB_ATTRIBUTE_DEPRECATED DEPRECATED_ATTRIBUTE
#endif /* MBMicroblinkDefines_h */
diff --git a/MicroBlink.framework/Headers/MBMicroBlinkInitialization.h b/MicroBlink.framework/Headers/MBMicroBlinkInitialization.h
index 4603762..d36a093 100644
--- a/MicroBlink.framework/Headers/MBMicroBlinkInitialization.h
+++ b/MicroBlink.framework/Headers/MBMicroBlinkInitialization.h
@@ -1,12 +1,12 @@
//
-// MBMicroBlinkInitialization.h
+// MBMicroblinkInitialization.h
// Pdf417Mobi
//
// Created by Jura Skrlec on 30/01/2018.
//
-#ifndef MBMicroBlinkInitialization_h
-#define MBMicroBlinkInitialization_h
+#ifndef MBMicroblinkInitialization_h
+#define MBMicroblinkInitialization_h
#define MB_INIT \
- (instancetype)init NS_DESIGNATED_INITIALIZER; \
@@ -14,4 +14,4 @@
#define MB_INIT_UNAVAILABLE \
- (instancetype)init NS_UNAVAILABLE; \
-#endif /* MBMicroBlinkInitialization_h */
+#endif /* MBMicroblinkInitialization_h */
diff --git a/MicroBlink.framework/Headers/MBMicroblinkApp.h b/MicroBlink.framework/Headers/MBMicroblinkApp.h
index 3a01abd..87a44a5 100644
--- a/MicroBlink.framework/Headers/MBMicroblinkApp.h
+++ b/MicroBlink.framework/Headers/MBMicroblinkApp.h
@@ -7,7 +7,7 @@
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#ifdef __OBJC__
#import
@@ -71,10 +71,9 @@ MB_CLASS_AVAILABLE_IOS(8.0)
/** Returns true if the help was already shown */
- (BOOL)isHelpShown;
-/**
- * This method check existance of the default resources bundle Microblink.bundle,
- * and throws an exception if it's missing
+/**
+ * Returns the default resources bundle. If it doesn't exist, it will be nil.
*/
-+ (NSBundle *)verifyAndGetDefaultResourcesBundle;
++ (NSBundle *)getDefaultResourcesBundle;
@end
diff --git a/MicroBlink.framework/Headers/MBMicroblinkSDK.h b/MicroBlink.framework/Headers/MBMicroblinkSDK.h
index 0647513..de7fd46 100644
--- a/MicroBlink.framework/Headers/MBMicroblinkSDK.h
+++ b/MicroBlink.framework/Headers/MBMicroblinkSDK.h
@@ -1,12 +1,13 @@
//
// MBMicroblinkSDK.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 14/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
+#import "MBCameraSettings.h"
NS_ASSUME_NONNULL_BEGIN
/**
@@ -30,7 +31,7 @@ MB_CLASS_AVAILABLE_IOS(8.0)
* is equal to Microblink.bundle located in Main app bundle.
*
* i.e, this is by default initialized to:
- * [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"MicroBlink" ofType:@"bundle"];
+ * [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"Microblink" ofType:@"bundle"];
*
*/
@property (nonatomic, strong) NSBundle *resourcesBundle;
@@ -96,6 +97,18 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*/
+ (NSString *)buildVersionString;
+/**
+ * This method returns true when scanning is unsupported on a specific device.
+ * Error object contains description of the reason for that.
+ *
+ * @param type The camera type you want to check for.
+ * @param error If scanning is not supported, when method this method returns, this parameter contains an NSError object that describes the
+ * problem. If you are not interested in possible errors, pass in NULL.
+ *
+ * @return YES if scanning is not supported, NO otherwise.
+ */
++ (BOOL)isScanningUnsupportedForCameraType:(MBCameraType)type error:(NSError *_Nullable *_Nullable)error NS_SWIFT_NOTHROW;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBModernViewfinderSubview.h b/MicroBlink.framework/Headers/MBModernViewfinderSubview.h
index d83bc98..0127963 100644
--- a/MicroBlink.framework/Headers/MBModernViewfinderSubview.h
+++ b/MicroBlink.framework/Headers/MBModernViewfinderSubview.h
@@ -3,7 +3,7 @@
// PhotoPayFramework
//
// Created by Marko Mihovilić on 02/09/14.
-// Copyright (c) 2014 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2014 Microblink Ltd. All rights reserved.
//
#import "MBSubview.h"
diff --git a/MicroBlink.framework/Headers/MBMrtdDetector.h b/MicroBlink.framework/Headers/MBMrtdDetector.h
index d492cd5..e51bd45 100644
--- a/MicroBlink.framework/Headers/MBMrtdDetector.h
+++ b/MicroBlink.framework/Headers/MBMrtdDetector.h
@@ -1,15 +1,15 @@
//
// MBMrtdDetector.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBQuadWithSizeDetector.h"
#import "MBMrtdDetectorResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBMrtdSpecification.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBMrtdDetectorResult.h b/MicroBlink.framework/Headers/MBMrtdDetectorResult.h
index e70a5ff..b3486d6 100644
--- a/MicroBlink.framework/Headers/MBMrtdDetectorResult.h
+++ b/MicroBlink.framework/Headers/MBMrtdDetectorResult.h
@@ -1,12 +1,12 @@
//
// MBMrtdDetectorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBQuadWithSizeDetectorResult.h"
#import "MBQuadrangle.h"
diff --git a/MicroBlink.framework/Headers/MBMrtdSpecification.h b/MicroBlink.framework/Headers/MBMrtdSpecification.h
index 252f9e1..614e2fd 100644
--- a/MicroBlink.framework/Headers/MBMrtdSpecification.h
+++ b/MicroBlink.framework/Headers/MBMrtdSpecification.h
@@ -1,12 +1,12 @@
//
// MBMrtdSpecification.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 18/10/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBNativeResult.h b/MicroBlink.framework/Headers/MBNativeResult.h
index 45efdc8..a66880d 100644
--- a/MicroBlink.framework/Headers/MBNativeResult.h
+++ b/MicroBlink.framework/Headers/MBNativeResult.h
@@ -3,7 +3,7 @@
// BlinkIdFramework
//
// Created by DoDo on 07/11/2016.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#ifndef PPResult_h
diff --git a/MicroBlink.framework/Headers/MBNoUpScalingDewarpPolicy.h b/MicroBlink.framework/Headers/MBNoUpScalingDewarpPolicy.h
index 0a04a19..5661099 100644
--- a/MicroBlink.framework/Headers/MBNoUpScalingDewarpPolicy.h
+++ b/MicroBlink.framework/Headers/MBNoUpScalingDewarpPolicy.h
@@ -1,12 +1,12 @@
//
// MBNoUpScalingDewarpPolicy.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDewarpPolicy.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBOcrEngineOptions.h b/MicroBlink.framework/Headers/MBOcrEngineOptions.h
index 69a22cd..a16a741 100644
--- a/MicroBlink.framework/Headers/MBOcrEngineOptions.h
+++ b/MicroBlink.framework/Headers/MBOcrEngineOptions.h
@@ -3,13 +3,13 @@
// BlinkOcrFramework
//
// Created by Jura on 30/04/15.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
#import "MBOcrFont.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBBaseOcrEngineOptions.h"
NS_ASSUME_NONNULL_BEGIN
@@ -99,6 +99,24 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*/
@property (nonatomic, assign) PPDocumentType documentType;
+/**
+ * Minimal height of the line of text given in pixels. All chars smaller than this value will be ignored.
+ *
+ * Setting the minimal line height can reduce the noise in OCR results.
+ *
+ * Default: 10
+ */
+@property (nonatomic, assign) NSUInteger minimalLineHeight;
+
+/**
+ * Maximal height of the line of text given in pixels.
+ *
+ * Setting the maximal line height can reduce the noise in OCR results.
+ *
+ * Default: 200
+ */
+@property (nonatomic, assign) NSUInteger maximalLineHeight;
+
/**
* Specifies if the image processing is performed on image
*
diff --git a/MicroBlink.framework/Headers/MBOcrFont.h b/MicroBlink.framework/Headers/MBOcrFont.h
index 283a61f..9e47edb 100644
--- a/MicroBlink.framework/Headers/MBOcrFont.h
+++ b/MicroBlink.framework/Headers/MBOcrFont.h
@@ -3,7 +3,7 @@
// BlinkOcrFramework
//
// Created by Jura on 29/07/15.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#ifndef BlinkOcrFramework_PPOcrFont_h
diff --git a/MicroBlink.framework/Headers/MBOcrLayout.h b/MicroBlink.framework/Headers/MBOcrLayout.h
index 20e26de..463965f 100644
--- a/MicroBlink.framework/Headers/MBOcrLayout.h
+++ b/MicroBlink.framework/Headers/MBOcrLayout.h
@@ -1,9 +1,9 @@
//
// MBOcrLayout.h
-// MicroBlinkFramework
+// MicroblinkFramework
//
// Created by Jura on 01/02/14.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
@@ -11,7 +11,7 @@
#import "MBOcrFont.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
@class MBOcrBlock;
@class MBOcrLine;
diff --git a/MicroBlink.framework/Headers/MBOcrLayoutSubview.h b/MicroBlink.framework/Headers/MBOcrLayoutSubview.h
index cbf16c2..ea02d7e 100644
--- a/MicroBlink.framework/Headers/MBOcrLayoutSubview.h
+++ b/MicroBlink.framework/Headers/MBOcrLayoutSubview.h
@@ -1,6 +1,6 @@
//
// MBOcrLayoutSubview.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Dino Gustin on 02/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBOcrRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBOcrRecognizerRunnerDelegate.h
index e640d7c..2468ffe 100644
--- a/MicroBlink.framework/Headers/MBOcrRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBOcrRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// MBOcrRecognizerRunnerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBOcrRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBOcrRecognizerRunnerViewControllerDelegate.h
index d75aeba..f04aa54 100644
--- a/MicroBlink.framework/Headers/MBOcrRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBOcrRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBOcrRecognizerRunnerViewDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 18/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBOcrResultSubview.h b/MicroBlink.framework/Headers/MBOcrResultSubview.h
index 9724a4c..2a45473 100644
--- a/MicroBlink.framework/Headers/MBOcrResultSubview.h
+++ b/MicroBlink.framework/Headers/MBOcrResultSubview.h
@@ -3,7 +3,7 @@
// PhotoPayFramework
//
// Created by Jura on 01/02/14.
-// Copyright (c) 2014 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2014 Microblink Ltd. All rights reserved.
//
#import "MBSubview.h"
diff --git a/MicroBlink.framework/Headers/MBOverlayContainerViewController.h b/MicroBlink.framework/Headers/MBOverlayContainerViewController.h
index f81ecb6..acde339 100644
--- a/MicroBlink.framework/Headers/MBOverlayContainerViewController.h
+++ b/MicroBlink.framework/Headers/MBOverlayContainerViewController.h
@@ -3,7 +3,7 @@
// PhotoMathFramework
//
// Created by Marko Mihovilić on 30/03/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#import "MBRecognizerRunnerViewController.h"
diff --git a/MicroBlink.framework/Headers/MBOverlaySettings.h b/MicroBlink.framework/Headers/MBOverlaySettings.h
index 3b32a39..3b0af8c 100644
--- a/MicroBlink.framework/Headers/MBOverlaySettings.h
+++ b/MicroBlink.framework/Headers/MBOverlaySettings.h
@@ -3,14 +3,14 @@
// PhotoPayFramework
//
// Created by Jura on 24/02/15.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
#import
#import "MBRecognizerCollection.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBOverlayViewController.h b/MicroBlink.framework/Headers/MBOverlayViewController.h
index c2bd2b0..edad4dc 100644
--- a/MicroBlink.framework/Headers/MBOverlayViewController.h
+++ b/MicroBlink.framework/Headers/MBOverlayViewController.h
@@ -3,14 +3,14 @@
// PhotoPayFramework
//
// Created by Jurica Cerovec on 5/28/13.
-// Copyright (c) 2013 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2013 Microblink Ltd. All rights reserved.
//
#import
#import
#import "MBRecognizerRunnerViewController.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBOverlayContainerViewController.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBParser.h b/MicroBlink.framework/Headers/MBParser.h
index 6d7d82c..6923d2c 100644
--- a/MicroBlink.framework/Headers/MBParser.h
+++ b/MicroBlink.framework/Headers/MBParser.h
@@ -1,11 +1,11 @@
//
// MBParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 06/03/2018.
//
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBEntity.h"
#import "MBParserResult.h"
@@ -22,6 +22,13 @@ MB_CLASS_AVAILABLE_IOS(8.0)
*/
@property (nonatomic, readonly, weak) MBParserResult *baseResult;
+/**
+ * Defines/returns whether the parser configured with this parser settings object will be required or optional.
+ *
+ * Default: YES
+ */
+@property (nonatomic, assign) BOOL required;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBParserGroupProcessor.h b/MicroBlink.framework/Headers/MBParserGroupProcessor.h
index a59e413..e54f882 100644
--- a/MicroBlink.framework/Headers/MBParserGroupProcessor.h
+++ b/MicroBlink.framework/Headers/MBParserGroupProcessor.h
@@ -1,6 +1,6 @@
//
// MBParserGroupProcessor.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
@@ -8,8 +8,8 @@
#import
#import "MBProcessor.h"
#import "MBParserGroupProcessorResult.h"
-#import "MBMicroBlinkDefines.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkDefines.h"
+#import "MBMicroblinkInitialization.h"
@class MBParser;
diff --git a/MicroBlink.framework/Headers/MBParserGroupProcessorResult.h b/MicroBlink.framework/Headers/MBParserGroupProcessorResult.h
index 77d10bb..1d5267a 100644
--- a/MicroBlink.framework/Headers/MBParserGroupProcessorResult.h
+++ b/MicroBlink.framework/Headers/MBParserGroupProcessorResult.h
@@ -1,12 +1,12 @@
//
// MBParserGroupProcessorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBProcessorResult.h"
#import "MBOcrLayout.h"
diff --git a/MicroBlink.framework/Headers/MBParserResult.h b/MicroBlink.framework/Headers/MBParserResult.h
index abdc7b9..6e906a0 100644
--- a/MicroBlink.framework/Headers/MBParserResult.h
+++ b/MicroBlink.framework/Headers/MBParserResult.h
@@ -1,12 +1,12 @@
//
// MBParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 06/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
/**
* Enumeration of posibble parser result state
diff --git a/MicroBlink.framework/Headers/MBPdf417Recognizer.h b/MicroBlink.framework/Headers/MBPdf417Recognizer.h
index 0714023..43b1d2b 100644
--- a/MicroBlink.framework/Headers/MBPdf417Recognizer.h
+++ b/MicroBlink.framework/Headers/MBPdf417Recognizer.h
@@ -1,16 +1,16 @@
//
// MBPdf417Recognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 27/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBPdf417RecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
@@ -44,7 +44,7 @@ MB_INIT
*
* Default: NO
*/
-@property (nonatomic, assign) BOOL allowNullQuietZone;
+@property (nonatomic, assign) BOOL nullQuietZoneAllowed;
/**
* Set this to YES to allow scanning barcodes with inverted intensities
diff --git a/MicroBlink.framework/Headers/MBPdf417RecognizerResult.h b/MicroBlink.framework/Headers/MBPdf417RecognizerResult.h
index 1539694..2c9f322 100644
--- a/MicroBlink.framework/Headers/MBPdf417RecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBPdf417RecognizerResult.h
@@ -1,13 +1,13 @@
//
// MBPdf417RecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 27/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
#import "MBBarcodeResult.h"
@@ -24,18 +24,18 @@ MB_INIT_UNAVAILABLE
/**
* Byte array with result of the scan
*/
-- (NSData *_Nullable)data;
+@property(nonatomic, strong, readonly, nullable) NSData* rawData;
/**
* Retrieves string content of scanned data
*/
-- (NSString *)stringData;
+@property(nonatomic, strong, readonly, nullable) NSString* stringData;
/**
* Flag indicating uncertain scanning data
* E.g obtained from damaged barcode.
*/
-- (BOOL)isUncertain;
+@property(nonatomic, assign, readonly) BOOL uncertain;
/**
* Type of the barcode scanned
diff --git a/MicroBlink.framework/Headers/MBPointDetectorSubview.h b/MicroBlink.framework/Headers/MBPointDetectorSubview.h
index 4ed3752..39c36aa 100644
--- a/MicroBlink.framework/Headers/MBPointDetectorSubview.h
+++ b/MicroBlink.framework/Headers/MBPointDetectorSubview.h
@@ -1,6 +1,6 @@
//
// MBPointDetectorSubview.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Dino Gustin on 02/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBProcessor.h b/MicroBlink.framework/Headers/MBProcessor.h
index 2270c31..08c03c2 100644
--- a/MicroBlink.framework/Headers/MBProcessor.h
+++ b/MicroBlink.framework/Headers/MBProcessor.h
@@ -1,13 +1,13 @@
//
// MBProcessor.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBEntity.h"
#import "MBProcessorResult.h"
diff --git a/MicroBlink.framework/Headers/MBProcessorGroup.h b/MicroBlink.framework/Headers/MBProcessorGroup.h
index 3668912..1479819 100644
--- a/MicroBlink.framework/Headers/MBProcessorGroup.h
+++ b/MicroBlink.framework/Headers/MBProcessorGroup.h
@@ -1,13 +1,13 @@
//
// MBProcessorGroup.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkInitialization.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkInitialization.h"
+#import "MBMicroblinkDefines.h"
@class MBDewarpPolicy;
@class MBProcessor;
diff --git a/MicroBlink.framework/Headers/MBProcessorResult.h b/MicroBlink.framework/Headers/MBProcessorResult.h
index de139e5..4a3d2f8 100644
--- a/MicroBlink.framework/Headers/MBProcessorResult.h
+++ b/MicroBlink.framework/Headers/MBProcessorResult.h
@@ -1,12 +1,12 @@
//
// MBProcessorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 02/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
/**
* Enumeration of posibble processor result state
diff --git a/MicroBlink.framework/Headers/MBQuadDetector.h b/MicroBlink.framework/Headers/MBQuadDetector.h
index 9a6459e..c5cedcc 100644
--- a/MicroBlink.framework/Headers/MBQuadDetector.h
+++ b/MicroBlink.framework/Headers/MBQuadDetector.h
@@ -1,15 +1,15 @@
//
// MBQuadDetector.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 19/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDetector.h"
#import "MBQuadDetectorResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBQuadDetectorResult.h b/MicroBlink.framework/Headers/MBQuadDetectorResult.h
index 035d436..a3d81c3 100644
--- a/MicroBlink.framework/Headers/MBQuadDetectorResult.h
+++ b/MicroBlink.framework/Headers/MBQuadDetectorResult.h
@@ -1,12 +1,12 @@
//
// MBQuadDetectorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 19/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDetectorResult.h"
#import "MBQuadrangle.h"
diff --git a/MicroBlink.framework/Headers/MBQuadDetectorSubview.h b/MicroBlink.framework/Headers/MBQuadDetectorSubview.h
index 4533f77..aeffe3d 100644
--- a/MicroBlink.framework/Headers/MBQuadDetectorSubview.h
+++ b/MicroBlink.framework/Headers/MBQuadDetectorSubview.h
@@ -1,6 +1,6 @@
//
// MBQuadDetectorSubview.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Dino Gustin on 02/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBQuadWithSizeDetector.h b/MicroBlink.framework/Headers/MBQuadWithSizeDetector.h
index af5732d..5a91538 100644
--- a/MicroBlink.framework/Headers/MBQuadWithSizeDetector.h
+++ b/MicroBlink.framework/Headers/MBQuadWithSizeDetector.h
@@ -1,16 +1,16 @@
//
// MBQuadWithSizeDetector.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBQuadDetector.h"
#import "MBQuadWithSizeDetectorResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBQuadWithSizeDetectorResult.h b/MicroBlink.framework/Headers/MBQuadWithSizeDetectorResult.h
index 8429df8..260dc3a 100644
--- a/MicroBlink.framework/Headers/MBQuadWithSizeDetectorResult.h
+++ b/MicroBlink.framework/Headers/MBQuadWithSizeDetectorResult.h
@@ -1,13 +1,13 @@
//
// MBQuadWithSizeDetectorResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBDetectorResult.h"
#import "MBQuadrangle.h"
#import "MBQuadDetectorResult.h"
diff --git a/MicroBlink.framework/Headers/MBQuadrangle.h b/MicroBlink.framework/Headers/MBQuadrangle.h
index 1238133..508758c 100644
--- a/MicroBlink.framework/Headers/MBQuadrangle.h
+++ b/MicroBlink.framework/Headers/MBQuadrangle.h
@@ -1,12 +1,12 @@
//
// MBQuadrangle.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 08/12/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBRawParser.h b/MicroBlink.framework/Headers/MBRawParser.h
index 5a54efe..19501be 100644
--- a/MicroBlink.framework/Headers/MBRawParser.h
+++ b/MicroBlink.framework/Headers/MBRawParser.h
@@ -1,15 +1,15 @@
//
// MBRawParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 14/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBRawParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBBaseOcrEngineOptions.h"
NS_ASSUME_NONNULL_BEGIN
@@ -43,6 +43,8 @@ MB_INIT
/**
* Sets the OCR engine options used in Regex OCR parser.
* Returns the OCR engine options used in Regex OCR parser.
+ *
+ * Default: default instance of MBOcrEngineOptions
*/
@property (nonatomic, strong) MBBaseOcrEngineOptions *ocrEngineOptions;
diff --git a/MicroBlink.framework/Headers/MBRawParserResult.h b/MicroBlink.framework/Headers/MBRawParserResult.h
index e33e4b9..6c24ef3 100644
--- a/MicroBlink.framework/Headers/MBRawParserResult.h
+++ b/MicroBlink.framework/Headers/MBRawParserResult.h
@@ -1,13 +1,13 @@
//
// MBRawParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 14/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBRecognizer.h b/MicroBlink.framework/Headers/MBRecognizer.h
index d7602d9..4735f02 100644
--- a/MicroBlink.framework/Headers/MBRecognizer.h
+++ b/MicroBlink.framework/Headers/MBRecognizer.h
@@ -1,12 +1,12 @@
//
// MBRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBEntity.h"
#import "MBRecognizerResult.h"
@@ -18,15 +18,6 @@ NS_ASSUME_NONNULL_BEGIN
MB_CLASS_AVAILABLE_IOS(8.0)
@interface MBRecognizer : MBEntity
-/**
- * Property which determines if the recognizer is enabled
- *
- * If YES, recognizer is enabled, and it peroforms recognition on each video frame.
- *
- * Default: YES
- */
-@property (nonatomic, getter=isEnabled) BOOL enabled;
-
/**
* Base recognizer result.
*/
diff --git a/MicroBlink.framework/Headers/MBRecognizerCollection.h b/MicroBlink.framework/Headers/MBRecognizerCollection.h
index 419f620..f2d8b0f 100644
--- a/MicroBlink.framework/Headers/MBRecognizerCollection.h
+++ b/MicroBlink.framework/Headers/MBRecognizerCollection.h
@@ -1,6 +1,6 @@
//
// MBScanSettings.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 24/11/2017.
//
@@ -71,10 +71,10 @@ MB_CLASS_AVAILABLE_IOS(8.0)
@property (nonatomic) BOOL allowMultipleResults;
/**
- * Timeout interval in which the partial scanning results in PhotoPay will be returned to the user.
+ * Timeout interval in which the partial scanning results will be returned to the user.
* If <= 0.0, no timeout event will be reported.
*
- * Default: 12 seconds in BlinkID and PhotoPay, 7.0 for PDF417, 0 for others.
+ * Default: 0 seconds, which means no timeout will be reported.
*/
@property (nonatomic) NSTimeInterval partialRecognitionTimeout;
diff --git a/MicroBlink.framework/Headers/MBRecognizerResult.h b/MicroBlink.framework/Headers/MBRecognizerResult.h
index cd789dd..9273dd9 100644
--- a/MicroBlink.framework/Headers/MBRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBRecognizerResult.h
@@ -1,12 +1,12 @@
//
// MBRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
/**
* Enumeration of posibble recognizer result state
diff --git a/MicroBlink.framework/Headers/MBRecognizerRunner.h b/MicroBlink.framework/Headers/MBRecognizerRunner.h
index 68c64eb..9040852 100644
--- a/MicroBlink.framework/Headers/MBRecognizerRunner.h
+++ b/MicroBlink.framework/Headers/MBRecognizerRunner.h
@@ -1,16 +1,17 @@
//
// MBRecognizerRunnerView.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/12/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerRunnerMetadataDelegates.h"
#import "MBScanningRecognizerRunnerDelegate.h"
#import "MBImageProcessingRecognizerRunnerDelegate.h"
+#import "MBStringProcessingRecognizerRunnerDelegate.h"
@class MBCoordinator;
@class MBImage;
@@ -28,6 +29,7 @@ MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
@property (nonatomic, strong, nonnull, readonly) MBRecognizerRunnerMetadataDelegates *metadataDelegates;
@property (nonatomic, weak) id scanningRecognizerRunnerDelegate;
@property (nonatomic, weak, nullable) id imageProcessingRecognizerRunnerDelegate;
+@property (nonatomic, weak, nullable) id stringProcessingRecognizerRunnerDelegate;
@property (nonatomic, nullable) MBCoordinator *coordinator;
@@ -50,12 +52,22 @@ MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
* Processes a MBImage object synchronously using current settings.
* Since this method is synchronous, calling it from a main thread will switch the call to alternate thread internally and output a warning.
*
- * Results are passed a delegate object given upon a creation of PPCoordinator.
+ * Results are passed a delegate object given upon a creation of MBCoordinator.
*
* @param image image for processing
*/
- (void)processImage:(MBImage *)image;
+/**
+ * Processes a NSString object synchronously using current settings.
+ * Since this method is synchronous, calling it from a main thread will switch the call to alternate thread internally and output a warning.
+ *
+ * Results are passed a delegate object given upon a creation of MBCoordinator.
+ *
+ * @param string string for processing
+ */
+- (void)processString:(NSString *)string;
+
/**
* Method which is used to apply MBSettings object given by currentSettings property
*
diff --git a/MicroBlink.framework/Headers/MBRecognizerRunnerMetadataDelegates.h b/MicroBlink.framework/Headers/MBRecognizerRunnerMetadataDelegates.h
index 87e1b37..0f2708c 100644
--- a/MicroBlink.framework/Headers/MBRecognizerRunnerMetadataDelegates.h
+++ b/MicroBlink.framework/Headers/MBRecognizerRunnerMetadataDelegates.h
@@ -9,7 +9,7 @@
#import "MBOcrRecognizerRunnerDelegate.h"
#import "MBGlareRecognizerRunnerDelegate.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import
/**
diff --git a/MicroBlink.framework/Headers/MBRecognizerRunnerViewController.h b/MicroBlink.framework/Headers/MBRecognizerRunnerViewController.h
index 2b87558..212abff 100644
--- a/MicroBlink.framework/Headers/MBRecognizerRunnerViewController.h
+++ b/MicroBlink.framework/Headers/MBRecognizerRunnerViewController.h
@@ -1,16 +1,20 @@
//
// Header.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 14/12/2017.
//
#import
#import
+#import "MBCameraSettings.h"
@class MBRecognizerCollection;
@class MBOverlayViewController;
-@class MBCameraSettings;
+@class MBImage;
+
+/** Block for returning high resolution MBImage photo with capture or still output */
+typedef void(^MBCaptureHighResImage)(MBImage * _Nullable highResImage);
NS_ASSUME_NONNULL_BEGIN
@@ -105,6 +109,13 @@ NS_ASSUME_NONNULL_BEGIN
/**-------------------------------*/
- (void)resetState;
+/**
+ * Method with block for getting high resoultion images
+ *
+ * @warning this is returned from background thread
+ */
+- (void)captureHighResImage:(MBCaptureHighResImage)highResoulutionImageCaptured;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerDelegate.h
index d258ea8..a820f33 100644
--- a/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBRecognizerRunnerViewControllerDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 18/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h b/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h
index 79a9337..b2a63a0 100644
--- a/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h
+++ b/MicroBlink.framework/Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h
@@ -9,7 +9,7 @@
#import "MBOcrRecognizerRunnerViewControllerDelegate.h"
#import "MBGlareRecognizerRunnerViewControllerDelegate.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import
/**
diff --git a/MicroBlink.framework/Headers/MBRegexParser.h b/MicroBlink.framework/Headers/MBRegexParser.h
index d99dbab..3d7c8d7 100644
--- a/MicroBlink.framework/Headers/MBRegexParser.h
+++ b/MicroBlink.framework/Headers/MBRegexParser.h
@@ -1,16 +1,16 @@
//
// MBRegexParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 15/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBRegexParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBBaseOcrEngineOptions.h"
NS_ASSUME_NONNULL_BEGIN
@@ -79,6 +79,8 @@ MB_INIT_UNAVAILABLE
/**
* Sets the OCR engine options used in Regex OCR parser.
* Returns the OCR engine options used in Regex OCR parser.
+ *
+ * Default: default instance of MBOcrEngineOptions
*/
@property (nonatomic, strong) MBBaseOcrEngineOptions *ocrEngineOptions;
diff --git a/MicroBlink.framework/Headers/MBRegexParserResult.h b/MicroBlink.framework/Headers/MBRegexParserResult.h
index d0a9f16..27a0855 100644
--- a/MicroBlink.framework/Headers/MBRegexParserResult.h
+++ b/MicroBlink.framework/Headers/MBRegexParserResult.h
@@ -1,13 +1,13 @@
//
// MBRegexParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 15/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBResultSubview.h b/MicroBlink.framework/Headers/MBResultSubview.h
index efe8682..d6c5d7b 100644
--- a/MicroBlink.framework/Headers/MBResultSubview.h
+++ b/MicroBlink.framework/Headers/MBResultSubview.h
@@ -1,6 +1,6 @@
//
// MBResultSubview.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Dino Gustin on 02/05/2018.
//
diff --git a/MicroBlink.framework/Headers/MBScanElement.h b/MicroBlink.framework/Headers/MBScanElement.h
index a1d0e1e..eb3981f 100644
--- a/MicroBlink.framework/Headers/MBScanElement.h
+++ b/MicroBlink.framework/Headers/MBScanElement.h
@@ -7,7 +7,7 @@
#import
#import "MBParser.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
#import "MBImage.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBScanningRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBScanningRecognizerRunnerDelegate.h
index 6b6dd62..cb384db 100644
--- a/MicroBlink.framework/Headers/MBScanningRecognizerRunnerDelegate.h
+++ b/MicroBlink.framework/Headers/MBScanningRecognizerRunnerDelegate.h
@@ -1,6 +1,6 @@
//
// Header.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 20/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBScanningRecognizerRunnerViewControllerDelegate.h b/MicroBlink.framework/Headers/MBScanningRecognizerRunnerViewControllerDelegate.h
index d9da6db..4ba01cc 100644
--- a/MicroBlink.framework/Headers/MBScanningRecognizerRunnerViewControllerDelegate.h
+++ b/MicroBlink.framework/Headers/MBScanningRecognizerRunnerViewControllerDelegate.h
@@ -1,6 +1,6 @@
//
// MBRecognizerRunnerViewDelegate.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 13/12/2017.
//
diff --git a/MicroBlink.framework/Headers/MBSimNumberRecognizer.h b/MicroBlink.framework/Headers/MBSimNumberRecognizer.h
index b1344a0..fc1793e 100644
--- a/MicroBlink.framework/Headers/MBSimNumberRecognizer.h
+++ b/MicroBlink.framework/Headers/MBSimNumberRecognizer.h
@@ -1,15 +1,15 @@
//
// MBSimNumberRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBSimNumberRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBSimNumberRecognizerResult.h b/MicroBlink.framework/Headers/MBSimNumberRecognizerResult.h
index 528e3f6..563dded 100644
--- a/MicroBlink.framework/Headers/MBSimNumberRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBSimNumberRecognizerResult.h
@@ -1,12 +1,12 @@
//
// MBSimNumberRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/11/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBStringProcessingRecognizerRunnerDelegate.h b/MicroBlink.framework/Headers/MBStringProcessingRecognizerRunnerDelegate.h
new file mode 100644
index 0000000..267bbd2
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBStringProcessingRecognizerRunnerDelegate.h
@@ -0,0 +1,19 @@
+//
+// MBStringProcessingRecognizerRunnerDelegate.h
+// MicroblinkDev
+//
+// Created by Jura Skrlec on 18/06/2018.
+//
+
+@class MBRecognizerRunner;
+
+@protocol MBStringProcessingRecognizerRunnerDelegate
+@required
+
+/**
+ * Called when MBRecognizerRunner finishes processing given string.
+ * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
+ */
+- (void)recognizerRunner:(nonnull MBRecognizerRunner *)recognizerRunner didFinishProcessingString:(nonnull NSString *)string;
+
+@end
diff --git a/MicroBlink.framework/Headers/MBSubview.h b/MicroBlink.framework/Headers/MBSubview.h
index 7be1412..44aeb42 100644
--- a/MicroBlink.framework/Headers/MBSubview.h
+++ b/MicroBlink.framework/Headers/MBSubview.h
@@ -3,11 +3,11 @@
// BarcodeFramework
//
// Created by Jura on 06/06/14.
-// Copyright (c) 2015 MicroBlink Ltd. All rights reserved.
+// Copyright (c) 2015 Microblink Ltd. All rights reserved.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizer.h b/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizer.h
index 9731616..ce0baae 100644
--- a/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizer.h
+++ b/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizer.h
@@ -1,12 +1,12 @@
//
// MBSuccessFrameGrabberRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/12/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBSuccessFrameGrabberRecognizerResult.h"
@@ -26,6 +26,10 @@ MB_CLASS_AVAILABLE_IOS(8.0) MB_FINAL
*/
@property (nonatomic, strong, readonly) MBSuccessFrameGrabberRecognizerResult *result;
+/**
+ * Slave recognizer that is wrapped with SuccessFrameGrabber
+ */
+@property (nonatomic, strong, readonly) MBRecognizer *slaveRecognizer;
@end
diff --git a/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizerResult.h b/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizerResult.h
index 17c1b3d..d628252 100644
--- a/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBSuccessFrameGrabberRecognizerResult.h
@@ -1,12 +1,12 @@
//
// MBSuccessFrameGrabberRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/12/2017.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
@class MBImage;
diff --git a/MicroBlink.framework/Headers/MBTapToFocusSubview.h b/MicroBlink.framework/Headers/MBTapToFocusSubview.h
index 5bd34aa..78525b5 100644
--- a/MicroBlink.framework/Headers/MBTapToFocusSubview.h
+++ b/MicroBlink.framework/Headers/MBTapToFocusSubview.h
@@ -3,7 +3,7 @@
// BlinkOcrFramework
//
// Created by Jura on 18/09/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
#import "MBSubview.h"
diff --git a/MicroBlink.framework/Headers/MBTemplatingClass.h b/MicroBlink.framework/Headers/MBTemplatingClass.h
index 1194a7c..87d8736 100644
--- a/MicroBlink.framework/Headers/MBTemplatingClass.h
+++ b/MicroBlink.framework/Headers/MBTemplatingClass.h
@@ -1,13 +1,13 @@
//
// MBTemplatingClass.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 21/03/2018.
//
#import
-#import "MBMicroBlinkInitialization.h"
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkInitialization.h"
+#import "MBMicroblinkDefines.h"
@protocol MBTemplatingClassifier;
diff --git a/MicroBlink.framework/Headers/MBTemplatingRecognizer.h b/MicroBlink.framework/Headers/MBTemplatingRecognizer.h
index 1bb6d68..d318a83 100644
--- a/MicroBlink.framework/Headers/MBTemplatingRecognizer.h
+++ b/MicroBlink.framework/Headers/MBTemplatingRecognizer.h
@@ -1,15 +1,15 @@
//
// MBTemplatingRecognizer.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBTemplatingRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
@class MBTemplatingClass;
diff --git a/MicroBlink.framework/Headers/MBTemplatingRecognizerResult.h b/MicroBlink.framework/Headers/MBTemplatingRecognizerResult.h
index 9bc3873..38444d5 100644
--- a/MicroBlink.framework/Headers/MBTemplatingRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBTemplatingRecognizerResult.h
@@ -1,13 +1,13 @@
//
// MBTemplatingRecognizerResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 22/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
#import "MBBarcodeResult.h"
diff --git a/MicroBlink.framework/Headers/MBTopUpParser.h b/MicroBlink.framework/Headers/MBTopUpParser.h
index 5edcab8..7b2b358 100644
--- a/MicroBlink.framework/Headers/MBTopUpParser.h
+++ b/MicroBlink.framework/Headers/MBTopUpParser.h
@@ -1,15 +1,15 @@
//
// MBTopUpParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBTopUpParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
/**
* Enumeration of posibble top up presets
diff --git a/MicroBlink.framework/Headers/MBTopUpParserResult.h b/MicroBlink.framework/Headers/MBTopUpParserResult.h
index 18736c2..56ecfcf 100644
--- a/MicroBlink.framework/Headers/MBTopUpParserResult.h
+++ b/MicroBlink.framework/Headers/MBTopUpParserResult.h
@@ -1,12 +1,12 @@
//
// MBTopUpParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 09/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBUIComponents.h b/MicroBlink.framework/Headers/MBUIComponents.h
new file mode 100644
index 0000000..d2fab92
--- /dev/null
+++ b/MicroBlink.framework/Headers/MBUIComponents.h
@@ -0,0 +1,9 @@
+//
+// MBUIComponents.h
+// MicroBlinkFramework
+//
+// Created by Dino Gustin on 06/06/18.
+// Copyright (c) 2012 MicroBlink Ltd. All rights reserved.
+//
+
+#import "MBBlinkInputUIComponents.h"
diff --git a/MicroBlink.framework/Headers/MBViewControllerFactory.h b/MicroBlink.framework/Headers/MBViewControllerFactory.h
index 06e1a1e..1ff8ffb 100644
--- a/MicroBlink.framework/Headers/MBViewControllerFactory.h
+++ b/MicroBlink.framework/Headers/MBViewControllerFactory.h
@@ -1,11 +1,11 @@
//
// MBViewControllerFactory.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 15/12/2017.
//
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerRunnerViewController.h"
#import "MBOverlayViewController.h"
diff --git a/MicroBlink.framework/Headers/MBVinParser.h b/MicroBlink.framework/Headers/MBVinParser.h
index 8cb6055..7b42e6c 100644
--- a/MicroBlink.framework/Headers/MBVinParser.h
+++ b/MicroBlink.framework/Headers/MBVinParser.h
@@ -1,15 +1,15 @@
//
// MBVinParser.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 07/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParser.h"
#import "MBVinParserResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBVinParserResult.h b/MicroBlink.framework/Headers/MBVinParserResult.h
index 9018fb4..e4bf6fd 100644
--- a/MicroBlink.framework/Headers/MBVinParserResult.h
+++ b/MicroBlink.framework/Headers/MBVinParserResult.h
@@ -1,12 +1,12 @@
//
// MBVinParserResult.h
-// MicroBlinkDev
+// MicroblinkDev
//
// Created by Jura Skrlec on 07/03/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBParserResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBVinRecognizer.h b/MicroBlink.framework/Headers/MBVinRecognizer.h
index 1c05251..8320d29 100644
--- a/MicroBlink.framework/Headers/MBVinRecognizer.h
+++ b/MicroBlink.framework/Headers/MBVinRecognizer.h
@@ -1,15 +1,15 @@
//
// MBVinRecognizer.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 23/04/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizer.h"
#import "MBVinRecognizerResult.h"
-#import "MBMicroBlinkInitialization.h"
+#import "MBMicroblinkInitialization.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MBVinRecognizerResult.h b/MicroBlink.framework/Headers/MBVinRecognizerResult.h
index f246efd..b0ba2f1 100644
--- a/MicroBlink.framework/Headers/MBVinRecognizerResult.h
+++ b/MicroBlink.framework/Headers/MBVinRecognizerResult.h
@@ -1,12 +1,12 @@
//
// MBVinRecognizerResult.h
-// MicroBlink
+// Microblink
//
// Created by Dino Gustin on 23/04/2018.
//
#import
-#import "MBMicroBlinkDefines.h"
+#import "MBMicroblinkDefines.h"
#import "MBRecognizerResult.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/MicroBlink.framework/Headers/MicroBlink.h b/MicroBlink.framework/Headers/MicroBlink.h
index 329e22f..1a0a86e 100644
--- a/MicroBlink.framework/Headers/MicroBlink.h
+++ b/MicroBlink.framework/Headers/MicroBlink.h
@@ -56,7 +56,7 @@
#import "MBResultSubview.h"
#import "MBOcrLayoutSubview.h"
-// Recognizers
-#import "PPBlinkInputRecognizers.h"
+#import "MBEntities.h"
+#import "MBUIComponents.h"
#endif
diff --git a/MicroBlink.framework/Headers/PPBlinkBarcodeRecognizers.h b/MicroBlink.framework/Headers/PPBlinkBarcodeRecognizers.h
deleted file mode 100644
index aab5a00..0000000
--- a/MicroBlink.framework/Headers/PPBlinkBarcodeRecognizers.h
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// PPBlinkBarcodeRecognizers.h
-// BlinkIdFramework
-//
-// Created by Jura on 30/12/15.
-// Copyright © 2015 MicroBlink Ltd. All rights reserved.
-//
-
-#ifndef PPBlinkBarcodeRecognizers_h
-#define PPBlinkBarcodeRecognizers_h
-
-// Pdf417
-#import "MBPdf417Recognizer.h"
-#import "MBPdf417RecognizerResult.h"
-
-// SimNumber
-#import "MBSimNumberRecognizer.h"
-#import "MBSimNumberRecognizerResult.h"
-
-//VIN
-#import "MBVinRecognizer.h"
-#import "MBVinRecognizerResult.h"
-
-// Barcode
-#import "MBBarcodeRecognizer.h"
-#import "MBBarcodeRecognizerResult.h"
-
-// Image
-#import "MBImage.h"
-
-// Basic functionality
-//#import "PPRecognizerResult+Test.h"
-
-#endif /* PPBlinkBarcodeRecognizers_h */
diff --git a/MicroBlink.framework/Headers/PPMicroBlinkDefines.h b/MicroBlink.framework/Headers/PPMicroBlinkDefines.h
index 31ef778..4cae55b 100644
--- a/MicroBlink.framework/Headers/PPMicroBlinkDefines.h
+++ b/MicroBlink.framework/Headers/PPMicroBlinkDefines.h
@@ -1,13 +1,13 @@
//
-// PPMicroBlinkDefines.h
+// PPMicroblinkDefines.h
// BlinkIdFramework
//
// Created by Jura on 04/01/16.
-// Copyright © 2016 MicroBlink Ltd. All rights reserved.
+// Copyright © 2016 Microblink Ltd. All rights reserved.
//
-#ifndef PPMicroBlinkDefines_h
-#define PPMicroBlinkDefines_h
+#ifndef PPMicroblinkDefines_h
+#define PPMicroblinkDefines_h
/**
* Define your macros for accessing localization tables.
@@ -22,16 +22,26 @@
#ifndef MB_LOCALIZED
// note - this might return nil if frameworkBundle is nil!
#define MB_LOCALIZED(key) \
- NSLocalizedStringWithDefaultValue(key, [[MBMicroblinkApp instance] language], [[MBMicroblinkApp instance] resourcesBundle], \
- MB_LOCALIZED_DEFAULT_STRING(key), nil)
+NSLocalizedStringWithDefaultValue(key, [[MBMicroblinkApp instance] language], [[MBMicroblinkApp instance] resourcesBundle], \
+MB_LOCALIZED_DEFAULT_STRING(key), nil)
#endif
#ifndef MB_LOCALIZED_FORMAT
// note - this might return nil if frameworkBundle is nil!
#define MB_LOCALIZED_FORMAT(key, ...) \
- [NSString stringWithFormat:NSLocalizedStringWithDefaultValue(key, [[MBMicroblinkApp instance] language], [[MBMicroblinkApp instance] resourcesBundle], \
- MB_LOCALIZED_DEFAULT_STRING(key), nil), \
- ##__VA_ARGS__]
+[NSString stringWithFormat:NSLocalizedStringWithDefaultValue(key, [[MBMicroblinkApp instance] language], [[MBMicroblinkApp instance] resourcesBundle], \
+MB_LOCALIZED_DEFAULT_STRING(key), nil), \
+##__VA_ARGS__]
+#endif
+
+#ifndef MB_LOCALIZED_PROPERTY_GETTER
+// note - this might return nil if frameworkBundle is nil!
+#define MB_LOCALIZED_PROPERTY_GETTER(propertyName, key) \
+if (propertyName) { \
+return propertyName; \
+} else { \
+return MB_LOCALIZED(key); \
+}
#endif
#ifdef __cplusplus
@@ -46,4 +56,4 @@
#define PP_INIT_UNAVAILABLE - (instancetype)init NS_UNAVAILABLE;
-#endif /* PPMicroBlinkDefines_h */
+#endif /* PPMicroblinkDefines_h */
diff --git a/MicroBlink.framework/Info.plist b/MicroBlink.framework/Info.plist
index 110426c..019c372 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
deleted file mode 100755
index c2e74ae..0000000
--- a/MicroBlink.framework/MicroBlink
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fbbe09cba26b9fc1acef8f41636bcf7b051981b33343f99fd8792ab7cc86e820
-size 70439216
diff --git a/MicroBlink.framework/Microblink b/MicroBlink.framework/Microblink
new file mode 100755
index 0000000..13b1731
--- /dev/null
+++ b/MicroBlink.framework/Microblink
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:971eb241ef6296df4b5054107f143066799b3faf13bde0ef3206b67cc084addf
+size 81902672
diff --git a/MicroBlink.framework/Modules/module.modulemap b/MicroBlink.framework/Modules/module.modulemap
index 0fe49ff..92715d3 100644
--- a/MicroBlink.framework/Modules/module.modulemap
+++ b/MicroBlink.framework/Modules/module.modulemap
@@ -1,5 +1,5 @@
framework module MicroBlink {
- umbrella header "MicroBlink.h"
+ umbrella header "Microblink.h"
export *
module * { export * }
diff --git a/MicroBlink.framework/_CodeSignature/CodeResources b/MicroBlink.framework/_CodeSignature/CodeResources
index b0d801a..ddba8c9 100644
--- a/MicroBlink.framework/_CodeSignature/CodeResources
+++ b/MicroBlink.framework/_CodeSignature/CodeResources
@@ -6,179 +6,199 @@
Headers/MBAmountParser.h
- fk9fF2iY0Ay5YJr3RiWVEnwtLXw=
+ s4CY1cmh7uIC9hHsqJ7DRhdtAZE=
Headers/MBAmountParserResult.h
- BhNzTihGNlH2mi41bsFPKa8iXtE=
+ td31okFKjPnVqFOj/LFZRFel1qQ=
+
+ Headers/MBBarcodeEntities.h
+
+ xnovkJ9NfdF5aRdT8NRWhyc5Cq0=
Headers/MBBarcodeOverlaySettings.h
- TJbkp8L2vcKiWqdTZCxyqgfrVMw=
+ H1vvYtxbJxjwmOMwQ4b5e7LvAL8=
Headers/MBBarcodeOverlayViewController.h
- VtXw687EeXh7BWEj71wP8dhPxPk=
+ wCqiGrKvuGaYFAwRD8NYZheSEBc=
Headers/MBBarcodeOverlayViewControllerDelegate.h
- qVVtiDAUkHrTixcmrwOkVB+u/O8=
+ y2N2U/cpHBb/01UqvRXiGcv+UC0=
Headers/MBBarcodeRecognizer.h
- hFfFZkaCLJaL4cIrqEuPLcJULHY=
+ dqIct+0QgUzVWVGoVaaVg2o0occ=
Headers/MBBarcodeRecognizerResult.h
- cN6KmWIldJKGtASZsMHlmmBmmh4=
+ xViLtcsdHlghH43qeZHY6dONtL0=
Headers/MBBarcodeResult.h
- be420q2unpVXwQE1oGDOW8RzrlA=
+ xhZnJwyh7r2k3CpZlAHfKvfQ7V4=
+
+ Headers/MBBarcodeUIComponents.h
+
+ 4snfrwY1/m2wXfV+ZkmibIOoaUg=
Headers/MBBaseOcrEngineOptions.h
- 10acXBGg96HpFmo4vQZ+bvxHwDg=
+ q4/3XIFwCvhSTM+HnnmJwh+k4Oo=
Headers/MBBaseOcrOverlaySettings.h
- bvm7vX/8MtjiU19Q1NkxJKUXlN8=
+ 8dUpnQYbuhh3XjMk3DgqezmtIuY=
Headers/MBBaseOverlaySettings.h
- E9zGTmK4w0LaGjL3d0zfUY3YxL4=
+ z6bhcymTekf4+80S48yx8+WLBuo=
Headers/MBBaseOverlayViewController.h
- oO19CN5viDYBWodk3lia1LVZpx0=
+ otfzYXKPVH5ABzmn28HSSw30IkY=
+
+ Headers/MBBlinkInputEntities.h
+
+ wdf0etFwGncImeRCmfYUtrb+Uys=
Headers/MBBlinkInputRecognizer.h
- 3K4oX/XO/6UNhyw2acTAbyJA13U=
+ 1Uryj6SI2ADnES4NUh0OBh3ae+4=
Headers/MBBlinkInputRecognizerResult.h
- +5MlfGZ2GZYbUPCTGuuBoapNeoQ=
+ eCgqofSYz0KFPNvJ/2DaDbOatbY=
+
+ Headers/MBBlinkInputUIComponents.h
+
+ 6PnqH8rHtlmCxsC4+jfrwbHGJ/Y=
Headers/MBCameraSettings.h
- OFGQXZBG5qnGeqnDtKv3aHCTTGY=
+ OlzBDAFkjC8+DVEUEIAMarJoD7o=
Headers/MBCustomOverlayViewController.h
- 57ovNFJm2EjMnQWIRcjC2ibjzp0=
+ lwRr3fdKY+fRliel+acpGFp1ZZE=
Headers/MBDPIBasedDewarpPolicy.h
- vHWkOSNxu4lhK9qsH6jq40Gtj4I=
+ 86I/F59TVHv0rSJMEKQKCotTko8=
Headers/MBDateParser.h
- VEQdS7bMHMbT85HnKUegIdhf3ng=
+ 4B7GxltRwVscHdtmu7/ldgksnSA=
Headers/MBDateParserResult.h
- FBziQ9FFZzciCtax4b9iEwNDo9E=
+ X3LVENe9DtqglWPpqGmnLkNVafA=
Headers/MBDateResult.h
- oGdqRHHpE3LkS1Rqye6fwdv8mFk=
+ 9/LfBx2SmF1fRbkAazp+Re1tC1w=
Headers/MBDebugRecognizerRunnerDelegate.h
- pHSLJ8Am5IvnY4viCuZ2RqmFS9Q=
+ RRZle2wowgH7HbKb+Op/AKcelF8=
Headers/MBDebugRecognizerRunnerViewControllerDelegate.h
- sHI0VC9Fv+BtqhjcmolF5fCqVIQ=
+ GY3TqBNqwapwuL3WnUSen4IOKJ4=
Headers/MBDeepOcrEngineOptions.h
- k1oyDeemGA0SJSsyU8cPwaVCcxw=
+ PxzxgUJimjAGHvSSpvCBSvGkNBY=
Headers/MBDetectionRecognizerRunnerDelegate.h
- XB+1/kszRsI5+d7eXbHUamD5kUY=
+ wkKjAMZ78kl2GBRIJbjDsHClHN8=
Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h
- T3g0E+sChdvTm/cDzAe3F13+lk8=
+ 6AHSk5QLGP2i5cbh6vv5KYDHtNk=
Headers/MBDetectionStatus.h
- AcwS9vf42O0IXlAJMGZS+5ZJY7Q=
+ 2rX7M7wtxD4mM93wckjv2GTR1/w=
Headers/MBDetector.h
- dGzD8O10pQM7/DlbXl7Ii0tUyCY=
+ cZPQsaiHS40UnXc9wEM1rY+zN2o=
Headers/MBDetectorRecognizer.h
- y1SvkOZKJD7q8KCRvyJIoPBI53E=
+ nopTsLBo5GMqjMiRgmdfRYI6zxE=
Headers/MBDetectorRecognizerResult.h
- xvXbwI21335yikNmMB0Ikz27DXE=
+ Oslompz5cvq9nRniq37x2qNgdik=
Headers/MBDetectorResult.h
- gy0Zson4GW1/u62QkRNtCzuvcnw=
+ LS2J5du5HT5RR0Z68aBCb1/G1us=
Headers/MBDewarpPolicy.h
- fyz0wrwCaQq8BKs0zJyQ5Ij2Dqw=
+ qN8skbo4lYmJimjXOKdmcDg6rSY=
Headers/MBDisplayableDetection.h
- dumeBJcirKT1SziDr7QM+thTB3A=
+ ovoqRoBuj6ktOK8CZQkOEA/c8YU=
Headers/MBDisplayableObject.h
- nEUBylsXu/1oDDGqcOx8ZIQR+Rc=
+ gAT3SvDzR4ue/SZslzmdlA+G2io=
Headers/MBDisplayablePointsDetection.h
- PFiBpWn7kRSbAsAV62bBTzQYPFY=
+ nC6Tt7/I68HiQCpnt9SqAOyZ4O8=
Headers/MBDisplayableQuadDetection.h
- lDU1rIuq47c6xG64Ofxx1G3piU4=
+ BHva4NitqfysG/O67Z4PWGC0Ebw=
Headers/MBDocumentDetector.h
- DpZDwAO5SBI7HEZTXgQT6LHaP3I=
+ rXGoeRenakwmM4VLlm3auBAnioE=
Headers/MBDocumentDetectorResult.h
- SRriUdGcXsmJrle1OBojx3rt7Pg=
+ 8UEsA1O5dgtyJRWHbHQfWuOHYEo=
Headers/MBDocumentOverlaySettings.h
- O/n3ncBKNJqZxD4n+84nnc5jXbU=
+ 2M8PUFrCvZPGa644zPlEfxAxGDk=
Headers/MBDocumentSpecification.h
- ynfkpHUFRwXxRDv51rhwR2bvXHQ=
+ +inbgkmJVwDhXGNEGdLllhT80sk=
Headers/MBDotsResultSubview.h
- McD1PXFvpwb8lO9jNSG0Ualh+os=
+ AHblUO+FK2YUIDQUHoeYaRKenW8=
Headers/MBDotsSubview.h
- 7HW8UkHmwW4OwfYCtZyUpNNMKU8=
+ x1atFdwmXPBh/BgFOTlllCddUWM=
Headers/MBEmailParser.h
- VE+hgmPR3kkI+JHuvmaghjn65zw=
+ 1QXZG7tdyWSDch3Zocpb6pOV60o=
Headers/MBEmailParserResult.h
- K51uWvJAVDKyT0RbXWHK1XYnqXs=
+ x36vE4qyidLkrFupAzjCNGWHVjM=
+
+ Headers/MBEntities.h
+
+ PzimpJuI6r++/FUOXYKmkGkK/PY=
Headers/MBEntity.h
- EwJkUDWGZP2Ub/oShHDBZ+pryh8=
+ okDIKhb4ne4uFq8ITR1UfNAEoMo=
Headers/MBException.h
@@ -186,7 +206,7 @@
Headers/MBFieldByFieldOverlaySettings.h
- jJoSxR0YzMaKMr7vK02/B+a0qcE=
+ imfGB5qUUrwgjHguwZl17BRePvI=
Headers/MBFieldByFieldOverlayViewController.h
@@ -194,351 +214,355 @@
Headers/MBFixedDewarpPolicy.h
- vNgxhHelvdiJEQmE7/qEPzzrO54=
+ AcqHPWtuGuPEwV7bxQ58aT8aKds=
Headers/MBFrameGrabberRecognizer.h
- TJOvNAIdNPWVLsHM5o8Ln4egmSw=
+ xezzd7Lriw05h26Jhl/FL67oU2Y=
Headers/MBGeometry.h
- +85eFGmWyzwnYOkHYrTr4MWXXH0=
+ Vf6asKFXdlZr5uhOEHFEGya3oMg=
Headers/MBGlareRecognizerRunnerDelegate.h
- hhnfRblc1cm9fh8QmMlRJ13Hilo=
+ 4scNRZkzo6vi4pItKvDCSrBB8Bs=
Headers/MBGlareRecognizerRunnerViewControllerDelegate.h
- ruaZJGTaRPtPph60v8JkgSSqN8A=
+ ANWhjFk0cQbm1NCNUsIWt3safG0=
+
+ Headers/MBGlareStatusSubview.h
+
+ 58Paw0tggRozFZHkFxxqHluUV64=
Headers/MBIbanParser.h
- tJg/vYu3AWy9KIAMJeC5g1pt9p8=
+ Q8cTwC+osD3+8EKgtgcbT1dlh+M=
Headers/MBIbanParserResult.h
- qk5sBarOuHQy5HFWex1yl8vC1EY=
+ 3/PEIZ5exEoHqQRqeGwVPkbQIuU=
Headers/MBImage.h
- 9KUg9w0SglfiFNcBHg2xO22+Qrk=
+ VlYNyu4ivL5y89TA+5Ful1MwSnQ=
Headers/MBImageProcessingRecognizerRunnerDelegate.h
- vuQwGeF3UuPClA8hZFnkyYYE6Ps=
+ O3NVRv7e6nsyS2p2Jsz1yv2Ngo4=
Headers/MBImageReturnProcessor.h
- QcOBGFG3pi0CwMPREtYVC2d3tjM=
+ JfZdQu29+EZCkLKrpS9xtraokz0=
Headers/MBImageReturnProcessorResult.h
- 3qH3RiuWwlSaYFAF/v8UfvibG54=
+ Dr2vOXlDVSnp2yZ8mXUDQlsGWAQ=
Headers/MBLicensePlatesParser.h
- mcXnRqzltjMC7E4ZxCWyRT98dCc=
+ B3ecwconNCWtiMgaPZLEmT2ZCAA=
Headers/MBLicensePlatesParserResult.h
- oyEvrC3KPMMF5wX5l6t95Vv5mgo=
+ BUY5D6jBF6pE0MsHT699tRoINVg=
- Headers/MBMicroBlinkDefines.h
+ Headers/MBMicroblinkApp.h
- O/HBCk52leRQ1YV8XDCUpkN1NFw=
+ TdX2P/Damv+2RViHn9Ih7qL60C8=
- Headers/MBMicroBlinkInitialization.h
+ Headers/MBMicroblinkDefines.h
- 5YdAZlRjQmSc048/LXHrqt/gGmw=
+ rMxtxzm2Y4yJD3g2BzxdipAbVFA=
- Headers/MBMicroblinkApp.h
+ Headers/MBMicroblinkInitialization.h
- uRPi91+BMFWgrF+8ws0aXrKPVpU=
+ QSpirY+gUS9A5KVIisHMsA1yfik=
Headers/MBMicroblinkSDK.h
- QINMlP5qEMbUx9uNvHAnuAJuOnQ=
+ 5+B1PzDl4C74yfqoLAPkpN1ySzk=
Headers/MBModernViewfinderSubview.h
- 5XSFVvhxw4LVFDUJqT8MXtCUuGI=
+ g9vyv1iWGhrGQFha5+l78ZnBF4k=
Headers/MBMrtdDetector.h
- aUIEmz597anOK9w8DleNitPCMww=
+ 6/eEvZxs7hJimHjz/LYxkOkYx2k=
Headers/MBMrtdDetectorResult.h
- IW+FIMBkQUBsIHrYm7KSqZ0Z2yc=
+ dSTqPXpsPHBrcU2KM+DnKre62PA=
Headers/MBMrtdSpecification.h
- rHYOFz1vqG1kNlRW7IvQjSelBcM=
+ NtZFExUczIcObeXwtdMI7i+DGg0=
Headers/MBNativeResult.h
- rXCTf5MOs1iy31txh5izI8FF7Xc=
+ GCEyCCwbLge32bVB61h+h+eYHKA=
Headers/MBNoUpScalingDewarpPolicy.h
- wipdzW9EiRH1KrZvX5Wda/N0WJA=
+ rSd3exLHKBeTIu0/xzJD5wkbYk4=
Headers/MBOcrEngineOptions.h
- ba6RFQkx3UM2BZfzTIvfI7NhR+Q=
+ jO8YnhnjuYhrlfwrxGDptBg5OMs=
Headers/MBOcrFont.h
- ULAaoF+T8ZdhBqjXfvq4UC2XYUI=
+ uVr7j0xbrP8/VKibp1wqVFSW7Ow=
Headers/MBOcrLayout.h
- Cmk+BdfzptYm/bBSZctJU5EkCtQ=
+ NKrOErllp3nVLSXP0O6i/evMED0=
Headers/MBOcrLayoutSubview.h
- k5IW15xYmMnwmz3CLqtAwjHNfYc=
+ tO2JlNAaA0why5+ZskMyG/gt9sA=
Headers/MBOcrRecognizerRunnerDelegate.h
- 34XIHP8TThsP+guM97lS/lX+uos=
+ ZqeK7evp/eHLrSCUYe4gXEFb2Ec=
Headers/MBOcrRecognizerRunnerViewControllerDelegate.h
- C2flxMElfu4alu6S3gUfconkrWo=
+ ExRS1jsEGO29Pmf5N5TQFwCducg=
Headers/MBOcrResultSubview.h
- 1CX3lnKdkBZOaGYqgSAqZJ8FLz4=
+ tbKKD8/idN9VFLXsezK0D93Kf0E=
Headers/MBOverlayContainerViewController.h
- J+KkQ/5lO0amWlfTMDefg5gJfa8=
+ rwiRS3zDLiUjcXPggVVCizvuOlY=
Headers/MBOverlaySettings.h
- 8ayTgyDdyjH3MAZLckbHfKIHChc=
+ aVkClUCvZiCM6fIAPXbIHr0FSKw=
Headers/MBOverlayViewController.h
- PK4Y1SJDzTMUwh6ksy6lIzPCp9o=
+ UzqoT2+ZASYqVM60c4eN4KOeGUs=
Headers/MBParser.h
- NhHml56y38J2oIiSFOKPQBGq7PY=
+ PeQI9LJJxdmFlkwedzpyxtQ4Bb4=
Headers/MBParserGroupProcessor.h
- VAba5hKVSg6N7BYqjGlnqDtwkIg=
+ DONFgRFSitEYJNPD/QOYy09E+jU=
Headers/MBParserGroupProcessorResult.h
- q5ewnvhRrbBWF6ZAzhxFFBclj3o=
+ dUKDn2xYpim14XmqIc3buZrNwDU=
Headers/MBParserResult.h
- b6uySWkIPUhq/aVaq46c3Wq9p9k=
+ +wWChQ3XdlBh33AaIxsS4b32rQM=
Headers/MBPdf417Recognizer.h
- d2lXhamuk3x+srnFb6DHfSFKAMI=
+ IdFvoMhzbc57CMGsOo1p6ufMqeg=
Headers/MBPdf417RecognizerResult.h
- cLi/eQRiWPm7RaTI2OZGZd/cV/c=
+ aX12egQZvl33mgVHhoM73I/Armc=
Headers/MBPointDetectorSubview.h
- ZJVSrjDkz9UIEWb1O69JzfolsDg=
+ zolUrbNidtvitCVJ+EbKBvPbfVQ=
Headers/MBProcessor.h
- cJI/lESCM3Jh41nlfEnpqea0Bvs=
+ GQ/RQbZXgDekOhiHXJO/Airrn7s=
Headers/MBProcessorGroup.h
- uWwsA9dVKHd/Y4KMtJKVBuMOQnM=
+ +6B4M5ysQW8HgMLaBolFoAo07S8=
Headers/MBProcessorResult.h
- 7n+Rpho6t1VO9vrEtZ+d3Ok3Bjg=
+ lLfhtb32umGGvC/G8JNajXxwykg=
Headers/MBQuadDetector.h
- 2YBH5Hs7ztAG3P3IM+VvbeWlNpI=
+ AtXFnUkrnZLtFe+zy428DMmr14M=
Headers/MBQuadDetectorResult.h
- RGNqJyAPUIkreoypQpGszMWp4JE=
+ MvjEDWMDyEicWcAFl7Vkft7W1hE=
Headers/MBQuadDetectorSubview.h
- VVtfF6XDvZu8VotaNFinaEhFUW8=
+ fHQpHrIyw3RO2NlXtVUrl296nNs=
Headers/MBQuadWithSizeDetector.h
- 5ZN6vPsZHbAGlemOC5j5b6Jn3AM=
+ Aj8hbLJyjsgGf0pzG3gkMgpkUqs=
Headers/MBQuadWithSizeDetectorResult.h
- ACKNFXuuyTYecf46lgOjoDKmwk8=
+ Blb9qY7OP7neRXBM8/5tG62f7Yw=
Headers/MBQuadrangle.h
- w2x0GSIT+FxE4fNQF1EnM4cNwtU=
+ Td0bw+EvmD2NCQNlro63eD0wa7Q=
Headers/MBRawParser.h
- UV5bgMt8Hwa6TgHvIrApTFpAd90=
+ DxLD74MOxmJo6+97lNaRG1HI51I=
Headers/MBRawParserResult.h
- iL+Ap0dUUOqcoteQXKu/gccDhCY=
+ UfzNNR+OEGbJZTRn3qbEMW5RTLM=
Headers/MBRecognizer.h
- hT6xNu4n9cnCT2WVyNJXIRM/Xzg=
+ b/ZrocozvdVfv0Gba1TNb0kbmek=
Headers/MBRecognizerCollection.h
- TIlSH/lOK85O5YiQz4DYRyxnPDw=
+ 6ILx2hstxB7QHXsurNAmcyIGZ4o=
Headers/MBRecognizerResult.h
- jEKJ0h3bM9F0HTTWR7IQ+AMUCIk=
+ FXhnC4R0FBSkmks7nIT5A/mkjlE=
Headers/MBRecognizerRunner.h
- tRQ70mIe85mn9psOlKWFkJDD7mw=
+ 66ls/DMLs+32immpxueR9AkKHuk=
Headers/MBRecognizerRunnerMetadataDelegates.h
- zEKJSnvSW6s2cxo3xz6K/lJmqZk=
+ VaNA5sC9fwdzdu7hOZvRVXJZoeo=
Headers/MBRecognizerRunnerViewController.h
- /Ct/h2wowTH0hlJn1x3HckC8ddg=
+ 0wMD+YY1DaqbdYaAkw2vu0g/cAQ=
Headers/MBRecognizerRunnerViewControllerDelegate.h
- kp7UHE4tBGp6CN6h5ssici3xPHQ=
+ BhLVTlhMG8DQHhpzsjQHhILnVeE=
Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h
- KbeVvnxgJ4KL5YRRt6eAntjnGKw=
+ QTWcI7/D51+/QVIhP/+p5IGPKzs=
Headers/MBRegexParser.h
- bNeNc46pIdC3ihfGkNfxHvzrS6Y=
+ MP/N3xQ6TKxSR2csamlqYF4VIrM=
Headers/MBRegexParserResult.h
- YyCuVlVHZLOKcrxjD4ZFYwqeJnM=
+ IZzqf1YBuzqh/BmbLBg1h03hlL4=
Headers/MBResultSubview.h
- jVIKXBcAOClu6Icw3hnusiqCxg8=
+ Wxpu6oTG78Nchj1gwzKbVmuncxY=
Headers/MBScanElement.h
- vGf2vNqcAZM2LV72Q30/1F16Jjs=
+ 6crMEHsfRdAgO8EEIA3votAc030=
Headers/MBScanningRecognizerRunnerDelegate.h
- WMbeMTAUYtnWcOC6VRywzq1yVE0=
+ eyGnu6s7zR8mOT0oJY7up8im7DA=
Headers/MBScanningRecognizerRunnerViewControllerDelegate.h
- zhKckxTEeC55E86ASWrhuXN8FM0=
+ YA95F4HUsGH5gIElWApN5ngvWxo=
Headers/MBSimNumberRecognizer.h
- bsCMkOD9donh1qP+VewnUYUmJ+I=
+ S0TU+ia4P8UyZvQOoa9JXrFwGHI=
Headers/MBSimNumberRecognizerResult.h
- 4thk8k4kQbn+qT+GBODtfWL5Gfc=
+ 5T6m9Mbr+6DXo9iMWCd1VXtyEMw=
+
+ Headers/MBStringProcessingRecognizerRunnerDelegate.h
+
+ c2v+SqYtbVxHFjshOAc4iUl3NX8=
Headers/MBSubview.h
- Pa2YxepPtbRNeiKB+g9DdwVqxAI=
+ Ow7aEX7k3rkSbdYeClXl3NMGo9M=
Headers/MBSuccessFrameGrabberRecognizer.h
- DWHTnjXNYH3bj7orMdj85BGa3o4=
+ LQpdx6ZPyDUvIMDvdmfiRgo5HF8=
Headers/MBSuccessFrameGrabberRecognizerResult.h
- P5y8tnZESOLMjNFROHmT3MWMHt0=
+ JOLsnDNyVUSzStAZVJjN0vIVKeY=
Headers/MBTapToFocusSubview.h
- eFDmWXFbOxJeolPx5dm9b0sjnkc=
+ ig8kZV0h4OAurOVt4mH+ASUi2mk=
Headers/MBTemplatingClass.h
- lCoubdWyGNnWfuTAbXT8kFU/UsI=
+ JPZskSz91iH0hHXPJG1Nv0ToZdc=
Headers/MBTemplatingRecognizer.h
- dPVb21kseZgaAk8pqw9rG/LipG8=
+ CZ36DBPBHyYys5mDGljWVdfaHxc=
Headers/MBTemplatingRecognizerResult.h
- shvBfCRDtBONMxB0XqkKdufZd+o=
+ OPu5MLwbS/fpex5uiwMxvOBCPVA=
Headers/MBTopUpParser.h
- ncdHOqNjU459DfaNIq4KdQS11qc=
+ MmQQ8n1WYyc/beBy65z+Xe9fTaA=
Headers/MBTopUpParserResult.h
- OJQA7oodZEuyeBpCZucdTxNwi/I=
+ UKjRUOoenR5yCTep5OvB/jHUqzY=
+
+ Headers/MBUIComponents.h
+
+ LDaRxchfLkkMqcwczmyXEjgWjKg=
Headers/MBViewControllerFactory.h
- peoKcbrsRZrBAbBqihSbsoGzQLE=
+ AN27TCnGNIsbi0wCtjj3SJjkxow=
Headers/MBVinParser.h
- evEehLH9w9eGeyTXe5Qi40lm+kQ=
+ wnrH5dY4R+o/IPuq9WJj1A6ex7U=
Headers/MBVinParserResult.h
- o6ASkusZKmC1BZikIubtAH8xx60=
+ jXbmad0u6Fa0WTcJCx307EM/HK0=
Headers/MBVinRecognizer.h
- kr9ut/9yE5B9XKgTosUWsD4LwB8=
+ puun5+UOPPHZEtXb3BqBK9ubkfs=
Headers/MBVinRecognizerResult.h
- CcYNhoSC9nSQfK7VfVACywtgRkc=
+ LYIkphjyYxTDBAwNqI+BOxAci/4=
Headers/MicroBlink.h
- 2aAqlxZa9QbuU2ylk+Xe4m4afRo=
-
- Headers/PPBlinkBarcodeRecognizers.h
-
- OoFeRFbxZxITKJH+dD2GEwJCibk=
-
- Headers/PPBlinkInputRecognizers.h
-
- u+pbWh9cJsR94/Kk9dfWtizKODA=
+ +9E/QWCjqwAMSAsPGzXnWFJs6eg=
- Headers/PPMicroBlinkDefines.h
+ Headers/PPMicroblinkDefines.h
- ALTnkAS7vcgCyF5CaQZkMwQJKPY=
+ TOOJnk5dJ8DCF0SbYDw3abd72w8=
Info.plist
- uuUfISLTAhS6IE2VLyhncoZmexE=
+ Vc5jB2lAEtqfJZH9x4tRXWBcupc=
Modules/module.modulemap
- r1IMnO5oqrKTdbYvy5j7J0DRUQ4=
+ V9XnUWJ3v7ZTIggf5MD31++YiQ8=
files2
@@ -547,484 +571,539 @@
hash
- fk9fF2iY0Ay5YJr3RiWVEnwtLXw=
+ s4CY1cmh7uIC9hHsqJ7DRhdtAZE=
hash2
- e3LG7EqJCQ074b7rgq87f1cgUuhcMIrQncM7cX24Gz4=
+ hvtjwHy4LzFcYW4TqgIhkcsuNksYw2GXA1ARiYgKrzk=
Headers/MBAmountParserResult.h
hash
- BhNzTihGNlH2mi41bsFPKa8iXtE=
+ td31okFKjPnVqFOj/LFZRFel1qQ=
hash2
- iZzFmEvQa130/ejHIB8q6UAzbmHfiAqD+gLo4vAX0+o=
+ Js8L7J9WRYRumTdZhxfZI8efWU3qCwpxCTjCbCiSwZU=
+
+
+ Headers/MBBarcodeEntities.h
+
+ hash
+
+ xnovkJ9NfdF5aRdT8NRWhyc5Cq0=
+
+ hash2
+
+ 8PiQq3cwDnGKxyfl/ba2VZZEezdthljOTJkT85Bbmgc=
Headers/MBBarcodeOverlaySettings.h
hash
- TJbkp8L2vcKiWqdTZCxyqgfrVMw=
+ H1vvYtxbJxjwmOMwQ4b5e7LvAL8=
hash2
- /Awsxse/NAwBh+YAgmupNxmGjvYZnEEpQ5yyNfDims0=
+ S2pb8TAm1ffpMV21x1R7VbxY8oX9N/iS7EIv127csyg=
Headers/MBBarcodeOverlayViewController.h
hash
- VtXw687EeXh7BWEj71wP8dhPxPk=
+ wCqiGrKvuGaYFAwRD8NYZheSEBc=
hash2
- vL78V0vfiA7xghnr+Bj0fpJxKo9r8L9CcgF1jT68cXQ=
+ DEw+bN1WLlAxxMldCRjgqa4qNtWKSzeFdQhFmXAN6pg=
Headers/MBBarcodeOverlayViewControllerDelegate.h
hash
- qVVtiDAUkHrTixcmrwOkVB+u/O8=
+ y2N2U/cpHBb/01UqvRXiGcv+UC0=
hash2
- n9GQrdMU8GsR3tPbeFbutjNGDdH/uNVwo+Z/xBOE+Mc=
+ es1lT4nNKuO6GVh7eERPt1tMAU0HcGRbKduktuQ+kjs=
Headers/MBBarcodeRecognizer.h
hash
- hFfFZkaCLJaL4cIrqEuPLcJULHY=
+ dqIct+0QgUzVWVGoVaaVg2o0occ=
hash2
- 3mvxETjq5YrtqNwdpTha+RDgLdoZ4M5GtLUKtmm2qXs=
+ 7BLlHGhQvWmQeUbyABr1N4HyosTUM6DzeBfauCH5Sg8=
Headers/MBBarcodeRecognizerResult.h
hash
- cN6KmWIldJKGtASZsMHlmmBmmh4=
+ xViLtcsdHlghH43qeZHY6dONtL0=
hash2
- dk1nlsc7DE9J2AzzAXmtv7aNtAMM4Cp/03O+oA30Pbw=
+ P53Dlspn07xG3C2XbP3XluptI6rpTmHvyMkp+Ib9OZw=
Headers/MBBarcodeResult.h
hash
- be420q2unpVXwQE1oGDOW8RzrlA=
+ xhZnJwyh7r2k3CpZlAHfKvfQ7V4=
+
+ hash2
+
+ dIwc5xwHL+TmZCq2hgRFQtFE6/jkf1BOgSn0aeM5X1A=
+
+
+ Headers/MBBarcodeUIComponents.h
+
+ hash
+
+ 4snfrwY1/m2wXfV+ZkmibIOoaUg=
hash2
- fcs89KTO4IuYkXCJQoCA+kcqytdzIDRclWTBmTbFtcU=
+ YdWjRQ+aTLlrUA4kb/1MzjbNxZx8GdTM75PxKB+P5jk=
Headers/MBBaseOcrEngineOptions.h
hash
- 10acXBGg96HpFmo4vQZ+bvxHwDg=
+ q4/3XIFwCvhSTM+HnnmJwh+k4Oo=
hash2
- MW/T0ybdYiUJKwBw3b6BLScHx1CS8ZHKCtbj+78bWgE=
+ xmPgKYWLxJPGWe6+1j/A7zz1xVghvt21qzZxbhYpgqU=
Headers/MBBaseOcrOverlaySettings.h
hash
- bvm7vX/8MtjiU19Q1NkxJKUXlN8=
+ 8dUpnQYbuhh3XjMk3DgqezmtIuY=
hash2
- aLtoj3iiWbpHgwW4xK+sAYXFzYFMe0J0Pr76HYi5HiI=
+ 4BXH1Ls3yzSmdrjHTLXKHBS8/kXcxAsdg1GN8CqVVHo=
Headers/MBBaseOverlaySettings.h
hash
- E9zGTmK4w0LaGjL3d0zfUY3YxL4=
+ z6bhcymTekf4+80S48yx8+WLBuo=
hash2
- P5PSjS5ANrZDMCkD5OmV7B7LnhYapGoWp5K6L4l7Yds=
+ 0r8vAu77X/fkWNklM+Sa7EHOSmpWfA36BqXPqhkcQ3U=
Headers/MBBaseOverlayViewController.h
hash
- oO19CN5viDYBWodk3lia1LVZpx0=
+ otfzYXKPVH5ABzmn28HSSw30IkY=
+
+ hash2
+
+ vx6bqXrd3LON7cGbL//BPX1/79sVYOdnISMU5znMgng=
+
+
+ Headers/MBBlinkInputEntities.h
+
+ hash
+
+ wdf0etFwGncImeRCmfYUtrb+Uys=
hash2
- vwgU3xw+iEpXPSKk3ikG43NIhopSpMTB1OpBWqOMP/g=
+ Zt/Nv23bLTDZwboRK9yS8FVWtwzPbRJhTtEVGISqSnM=
Headers/MBBlinkInputRecognizer.h
hash
- 3K4oX/XO/6UNhyw2acTAbyJA13U=
+ 1Uryj6SI2ADnES4NUh0OBh3ae+4=
hash2
- Qdz+jb7zNBFbFRCZ8wueMAEEPiSnGlPl/UgCoi2JB+k=
+ DqqHtf4L6HnZb5FsSEHoJwQkFTyfHWXa9xVA3KidPaU=
Headers/MBBlinkInputRecognizerResult.h
hash
- +5MlfGZ2GZYbUPCTGuuBoapNeoQ=
+ eCgqofSYz0KFPNvJ/2DaDbOatbY=
+
+ hash2
+
+ gU/BMzx5AfYWgjk8phJBwH6SdOFD3Vp1GyM7J9PC2o8=
+
+
+ Headers/MBBlinkInputUIComponents.h
+
+ hash
+
+ 6PnqH8rHtlmCxsC4+jfrwbHGJ/Y=
hash2
- 4D8xnpVlVSVG0HSYJ5jbYJfg2vDoRNw4QmSrsJ4WF+Q=
+ 7d14SaFI6KfEYD4DanisE6fHks6EA25H7exjEFtuHoo=
Headers/MBCameraSettings.h
hash
- OFGQXZBG5qnGeqnDtKv3aHCTTGY=
+ OlzBDAFkjC8+DVEUEIAMarJoD7o=
hash2
- 6K4V11EtZiScnqVVjgIMBGXaz07ClnkjY3CMURZpXSs=
+ hfumFjJy2XR9KbhQdgtRoA3J/u3sn4pkcU0gtV3YwQM=
Headers/MBCustomOverlayViewController.h
hash
- 57ovNFJm2EjMnQWIRcjC2ibjzp0=
+ lwRr3fdKY+fRliel+acpGFp1ZZE=
hash2
- nTGMFnt2decFRI15sko/M6lycm7JYKUwbz+2TnWkrIE=
+ hvWa3EhImigzV8klI2TsSJQO8lpcUMunjiw8djWZGPY=
Headers/MBDPIBasedDewarpPolicy.h
hash
- vHWkOSNxu4lhK9qsH6jq40Gtj4I=
+ 86I/F59TVHv0rSJMEKQKCotTko8=
hash2
- 4WCUwZWzobF7MTjtpjLZc+8eBcBLQ+UnFYJXO8nCs3k=
+ YANzUXl55AHKpT/CylL4oV2isE90OuEnIsuZYYyxsnY=
Headers/MBDateParser.h
hash
- VEQdS7bMHMbT85HnKUegIdhf3ng=
+ 4B7GxltRwVscHdtmu7/ldgksnSA=
hash2
- KzGjy+p16h+9BRS+U9xa03PrasoSuinKMw02WyjdE44=
+ iOlySanNA1ttZf6k+LK3j3xyX1VQUHeezgAdLkoJ6fs=
Headers/MBDateParserResult.h
hash
- FBziQ9FFZzciCtax4b9iEwNDo9E=
+ X3LVENe9DtqglWPpqGmnLkNVafA=
hash2
- L3o72unYDZg7F5TfxgTmZwVGRSq1+zTzBfI2lEOg6fo=
+ iAr4KrPqOYt5mRdgIlgJOJwSYb1V+ELL9qp72MNf5W0=
Headers/MBDateResult.h
hash
- oGdqRHHpE3LkS1Rqye6fwdv8mFk=
+ 9/LfBx2SmF1fRbkAazp+Re1tC1w=
hash2
- u5drogytjleJMHSDjWNBI5VHydYiYHYvIa70ZoSBMR0=
+ YxnNNJO+slx7SYnMS5inEg4Ov3FihOQNwVrENaaYKTg=
Headers/MBDebugRecognizerRunnerDelegate.h
hash
- pHSLJ8Am5IvnY4viCuZ2RqmFS9Q=
+ RRZle2wowgH7HbKb+Op/AKcelF8=
hash2
- hNdl5083Nu+7VAM7UVx327EJKV+xkyNLdRPmOTeQZ34=
+ /fq8vldngI4nNJ78Zq3EN369tl7K8JfCFYPFGpERhu4=
Headers/MBDebugRecognizerRunnerViewControllerDelegate.h
hash
- sHI0VC9Fv+BtqhjcmolF5fCqVIQ=
+ GY3TqBNqwapwuL3WnUSen4IOKJ4=
hash2
- A6kwphOFKSao4ZKgTmA8nsF6uQBsInrAOU00zWcyrJM=
+ vLAp+Ywbi+TMV1GjinbkjalCqYB29J+M8mUw64vULyo=
Headers/MBDeepOcrEngineOptions.h
hash
- k1oyDeemGA0SJSsyU8cPwaVCcxw=
+ PxzxgUJimjAGHvSSpvCBSvGkNBY=
hash2
- 5iMrpHiKMMOyyiKwU1jbkJU2gJSWTCzYEidzzFUZZgA=
+ ly9ikPOzVw+g2Ogp775sMm/zcDLHME+sbJnZqVvsdhM=
Headers/MBDetectionRecognizerRunnerDelegate.h
hash
- XB+1/kszRsI5+d7eXbHUamD5kUY=
+ wkKjAMZ78kl2GBRIJbjDsHClHN8=
hash2
- lSDmzYkEcDscCBDxP6aA7gnxjdgPoWNVF0asHL4SkHk=
+ XpsDke7S6n/xgK/OsdAuTmSRkiDRbEEtqnMOInfGwKs=
Headers/MBDetectionRecognizerRunnerViewControllerDelegate.h
hash
- T3g0E+sChdvTm/cDzAe3F13+lk8=
+ 6AHSk5QLGP2i5cbh6vv5KYDHtNk=
hash2
- kX08/zDZmgC4VGeFgw620z0y0J+dR/BVbpiDAwUHoeA=
+ SrjMaTCnIohR7nvXOEjdOtOt12zUt755t2ezbOukIi4=
Headers/MBDetectionStatus.h
hash
- AcwS9vf42O0IXlAJMGZS+5ZJY7Q=
+ 2rX7M7wtxD4mM93wckjv2GTR1/w=
hash2
- iYwV3NQKBqF8Da12KzBC7wBgn0FXljbTe9vW7+aoevY=
+ V0NdaaTUMPCtqVI2BDUqCtmmgFGWZGtFepWTgz9pEXs=
Headers/MBDetector.h
hash
- dGzD8O10pQM7/DlbXl7Ii0tUyCY=
+ cZPQsaiHS40UnXc9wEM1rY+zN2o=
hash2
- RPoJJzxn6EZOgzJxpNsfX318ztuejrKM6o44BSr1iyU=
+ xUMy0QooFQPb+eyF+ofb2JMIU3Prs3wY8z/0LIyU2uA=
Headers/MBDetectorRecognizer.h
hash
- y1SvkOZKJD7q8KCRvyJIoPBI53E=
+ nopTsLBo5GMqjMiRgmdfRYI6zxE=
hash2
- yyXEMVwFy2lPjou36JhzVJNVo6Q9N3nDndNvVZG0ye4=
+ sbRjL6jWXhrC7m72EJ7tXaP1OdxQYp4ph5U3v/BEJ9U=
Headers/MBDetectorRecognizerResult.h
hash
- xvXbwI21335yikNmMB0Ikz27DXE=
+ Oslompz5cvq9nRniq37x2qNgdik=
hash2
- MmcgG89VHgFtqoND5dyIH5Vz99drMPpHFQntEM40fxc=
+ +dDa4tzlKiq9MpyBhlKbTOrOijUWQxtj8n57nmPJvFw=
Headers/MBDetectorResult.h
hash
- gy0Zson4GW1/u62QkRNtCzuvcnw=
+ LS2J5du5HT5RR0Z68aBCb1/G1us=
hash2
- MYig9pf8kk6PPnNpYmEFlGNeb+Tw0z9qi289KcaPMqA=
+ Y8z6E1wNSycjxYfswpKO6Ka/XrtJRften4uW7I+zPGE=
Headers/MBDewarpPolicy.h
hash
- fyz0wrwCaQq8BKs0zJyQ5Ij2Dqw=
+ qN8skbo4lYmJimjXOKdmcDg6rSY=
hash2
- sGTN62vFXQ/ucfJaCe3c0zz7mT2XM3hhGHCQXAaddbQ=
+ 1LoE/3mkgB6g0BE9Nzc7RnhCyWIj55nbXT1A5BNqSgI=
Headers/MBDisplayableDetection.h
hash
- dumeBJcirKT1SziDr7QM+thTB3A=
+ ovoqRoBuj6ktOK8CZQkOEA/c8YU=
hash2
- dvaO0C9R2ucZjLXaOLhy3zAUsMVzwOi+Lx6vPBNv64s=
+ yrv0XId18vfdVZ+1ScCi+rYPJFiZ81lNaR20vShkHUo=
Headers/MBDisplayableObject.h
hash
- nEUBylsXu/1oDDGqcOx8ZIQR+Rc=
+ gAT3SvDzR4ue/SZslzmdlA+G2io=
hash2
- qVJP1hhwjMxYI1anUpNcmSEjYB+lUROOZkXtfIncDdg=
+ 6bTFZ+d4e2c6vJ3Cv2eqHJkJYSneBoKeBDX3I2nOYLw=
Headers/MBDisplayablePointsDetection.h
hash
- PFiBpWn7kRSbAsAV62bBTzQYPFY=
+ nC6Tt7/I68HiQCpnt9SqAOyZ4O8=
hash2
- WGwAKHBKnOg1pFShWQhisNLhKp5eypioEt5lk4SkVWk=
+ zu5sBg6YmLBZpah/OqbXHupPVim6ckhNlnzueI3keDY=
Headers/MBDisplayableQuadDetection.h
hash
- lDU1rIuq47c6xG64Ofxx1G3piU4=
+ BHva4NitqfysG/O67Z4PWGC0Ebw=
hash2
- 7IvZ8/TbNNZUb6QOJam/OyimMvK4T2lerszdXwozL8o=
+ DOQEpvsMbU9/tR6LKUgfBc/1lcZIS+6bsEOEriyO+6Y=
Headers/MBDocumentDetector.h
hash
- DpZDwAO5SBI7HEZTXgQT6LHaP3I=
+ rXGoeRenakwmM4VLlm3auBAnioE=
hash2
- pcOiCbQM7IUPmyuVWNUPKrd9DgKBaRNawajMLuBoxUM=
+ kHS46S0aaH8UwnNcne6UBaQ8y4C8geIvYyzcrvYK9I4=
Headers/MBDocumentDetectorResult.h
hash
- SRriUdGcXsmJrle1OBojx3rt7Pg=
+ 8UEsA1O5dgtyJRWHbHQfWuOHYEo=
hash2
- LwgqLCWTajzIc7mY5bijyP25LxKiKUhKnVk3XOjHVwA=
+ sE50jz77kuqD0artBqm2lC846GnZXs5bf7IeJf3gdvM=
Headers/MBDocumentOverlaySettings.h
hash
- O/n3ncBKNJqZxD4n+84nnc5jXbU=
+ 2M8PUFrCvZPGa644zPlEfxAxGDk=
hash2
- 6xJHUS+BNJ2H+eevSVZp18Dyb3I6wMqRzHlk33kGyDE=
+ iq66QvpONYQSDp0ffvFljzBeA+2/+V9iKhCaWZMUXFM=
Headers/MBDocumentSpecification.h
hash
- ynfkpHUFRwXxRDv51rhwR2bvXHQ=
+ +inbgkmJVwDhXGNEGdLllhT80sk=
hash2
- DGcnaeGNbRD6JYEndOi4MWYcj6wowfF6PM3zeKnWKus=
+ wnyYQomcnsvdNduooPozORiv8phkWI2+oQmqVLJz3t4=
Headers/MBDotsResultSubview.h
hash
- McD1PXFvpwb8lO9jNSG0Ualh+os=
+ AHblUO+FK2YUIDQUHoeYaRKenW8=
hash2
- PQOyoMZZNA5EMmCzX1q+32xobKItjhJiRr0c3ejbxcU=
+ eYSQmmiG0teOHLxSZZyZmQj52aqiSux7OicPjTWUJbA=
Headers/MBDotsSubview.h
hash
- 7HW8UkHmwW4OwfYCtZyUpNNMKU8=
+ x1atFdwmXPBh/BgFOTlllCddUWM=
hash2
- cF4F2UV8Nya3YnYVE4xMjCX5EmKJTMogHwj2xjT+nCY=
+ aTTTaLt7i8jXN9vONscDwJ9bhO96ghJQd3oooe/Hm1U=
Headers/MBEmailParser.h
hash
- VE+hgmPR3kkI+JHuvmaghjn65zw=
+ 1QXZG7tdyWSDch3Zocpb6pOV60o=
hash2
- l29hA+MEQwdMRtzcx86/7QROouE8Yb83ed9kxjc1ofg=
+ MusKKS7KI0uh1VaVcZqQU57xD5QNjQOwEez0WWQ2vGM=
Headers/MBEmailParserResult.h
hash
- K51uWvJAVDKyT0RbXWHK1XYnqXs=
+ x36vE4qyidLkrFupAzjCNGWHVjM=
hash2
- gBQuodC/73h8CZeeHRJmwgvqO5QvtwjGhkDUnZGL7rk=
+ Shglejw1iILGDKW47ddrpQve7zobdVCSf04ELOC8sYc=
+
+
+ Headers/MBEntities.h
+
+ hash
+
+ PzimpJuI6r++/FUOXYKmkGkK/PY=
+
+ hash2
+
+ GHBQRkoxBISqaLcuMpEhqKgME7PLWgNMhRKJfcrI+es=
Headers/MBEntity.h
hash
- EwJkUDWGZP2Ub/oShHDBZ+pryh8=
+ okDIKhb4ne4uFq8ITR1UfNAEoMo=
hash2
- 8Ytn8eMeYT1ZRQJlqGwjoUbFbszsB1gRETkk0MO8u7Y=
+ SIl/YG1vGs6LOS6DM+b2+N0twuVB0sfkdfiDBrMfX0U=
Headers/MBException.h
@@ -1042,11 +1121,11 @@
hash
- jJoSxR0YzMaKMr7vK02/B+a0qcE=
+ imfGB5qUUrwgjHguwZl17BRePvI=
hash2
- cCk/HpcQTGGoKne3wNHJhJPNdhkjv+xAvsB7r6mADSA=
+ OhtuZDcEojb5aB2l9xGyNdcBeduG1/DR2n3HU3/ke60=
Headers/MBFieldByFieldOverlayViewController.h
@@ -1064,952 +1143,963 @@
hash
- vNgxhHelvdiJEQmE7/qEPzzrO54=
+ AcqHPWtuGuPEwV7bxQ58aT8aKds=
hash2
- Z4emXnIeOerYGlvyyLYldz+TITVtVPXMqFCDu15mYew=
+ P1qQnekEQQKCukCk4oBoQlgl1lpaXHpa8KpgeVNtbXE=
Headers/MBFrameGrabberRecognizer.h
hash
- TJOvNAIdNPWVLsHM5o8Ln4egmSw=
+ xezzd7Lriw05h26Jhl/FL67oU2Y=
hash2
- YNkcP8SGd+JLi+HkTj9YsJIu0I2Nnpa1C13I934G8tg=
+ O4D78tBkiuB+A76miZTdGcRYGjdyLGNSuDH3HiC33OI=
Headers/MBGeometry.h
hash
- +85eFGmWyzwnYOkHYrTr4MWXXH0=
+ Vf6asKFXdlZr5uhOEHFEGya3oMg=
hash2
- Ht+U3pWNYtHTjWOBpzzATtKnjZTKs9kuG9d3xcULY5M=
+ NtJ7+N3ezgHWvagAxksYpMJ1K2r/Yo46loZwWKvrjes=
Headers/MBGlareRecognizerRunnerDelegate.h
hash
- hhnfRblc1cm9fh8QmMlRJ13Hilo=
+ 4scNRZkzo6vi4pItKvDCSrBB8Bs=
hash2
- zf0vZHOawgUbFGMHr839dkO2qomChqzrcFIYZPs+r7M=
+ ShheP+AR48lajrX9yfjp1NKCB/lMz295tHIRgRdAw1E=
Headers/MBGlareRecognizerRunnerViewControllerDelegate.h
hash
- ruaZJGTaRPtPph60v8JkgSSqN8A=
+ ANWhjFk0cQbm1NCNUsIWt3safG0=
+
+ hash2
+
+ HdE9xXJEVSw0V2tm05mAGDHyR5Pe/P3kUqUEzO9U+HE=
+
+
+ Headers/MBGlareStatusSubview.h
+
+ hash
+
+ 58Paw0tggRozFZHkFxxqHluUV64=
hash2
- i/S2JSlA7P+DpN3udtUcWjhz0BsIgWg/M7ewq8fBYV4=
+ Ut/KyI1FEogE63WiiUdykl4kuz7HI+ixY+gyTBJJqWk=
Headers/MBIbanParser.h
hash
- tJg/vYu3AWy9KIAMJeC5g1pt9p8=
+ Q8cTwC+osD3+8EKgtgcbT1dlh+M=
hash2
- O/FhaoK8Nckawl37GjDhiIRc36/ebmzhyHkotRJ/s3E=
+ EQiqjL2h8a+OZX4Dc/vD1cv3+gS3tHX3d9nCE4K8HT4=
Headers/MBIbanParserResult.h
hash
- qk5sBarOuHQy5HFWex1yl8vC1EY=
+ 3/PEIZ5exEoHqQRqeGwVPkbQIuU=
hash2
- UllWrzju3TSVhi7rRCpteV4g+9dUI0ngaxX0YcAiYdM=
+ 7tRdHnTW3FCkr67QeqGRtxeS0nwfVJis+cxaOv/UPnQ=
Headers/MBImage.h
hash
- 9KUg9w0SglfiFNcBHg2xO22+Qrk=
+ VlYNyu4ivL5y89TA+5Ful1MwSnQ=
hash2
- nmtFBpzibc3G7RntEWhudZs+SNpEkJXhUazSfmMmkWg=
+ 6c94/J6y2BM/RrNRykxJ3OKbdJMmnENrSA0FGPg6JCI=
Headers/MBImageProcessingRecognizerRunnerDelegate.h
hash
- vuQwGeF3UuPClA8hZFnkyYYE6Ps=
+ O3NVRv7e6nsyS2p2Jsz1yv2Ngo4=
hash2
- dgd+sRh5e0il2orjVYkZ10NHjpX5lrFOr8EBmmPIYvU=
+ n2Lc8T0QLmV9D3yNze9MAJgEB5pUqP0iLhrJUNguxt4=
Headers/MBImageReturnProcessor.h
hash
- QcOBGFG3pi0CwMPREtYVC2d3tjM=
+ JfZdQu29+EZCkLKrpS9xtraokz0=
hash2
- NoX+nBvlf0TXeVkN5PmHxTeznUbuC8g3PzwA4Qbix6s=
+ 3N/qXm77kEWKrzI/vebWhBf5HPqrRHJIQnf240msRJ4=
Headers/MBImageReturnProcessorResult.h
hash
- 3qH3RiuWwlSaYFAF/v8UfvibG54=
+ Dr2vOXlDVSnp2yZ8mXUDQlsGWAQ=
hash2
- 58wOvFzbZBEa8T+NzfhAxGhbsOHUEHEWfCQWzt/o9lQ=
+ Mibdc7WlHih1Ellj39n1zoRYFI7HzBidtKkA+GbE9qc=
Headers/MBLicensePlatesParser.h
hash
- mcXnRqzltjMC7E4ZxCWyRT98dCc=
+ B3ecwconNCWtiMgaPZLEmT2ZCAA=
hash2
- Rdjpp3fAAcUhtIBVsBWFDCDD6qJxN+E3Q5pNWE/f4kc=
+ EmQ5xNWs3p/23mStuPjJ/Q9VWq2JZmVv23ILD+IH/9M=
Headers/MBLicensePlatesParserResult.h
hash
- oyEvrC3KPMMF5wX5l6t95Vv5mgo=
+ BUY5D6jBF6pE0MsHT699tRoINVg=
hash2
- FhWzP7OfwT1/LhSrqJEAMPFDf8jVgnwmOMLUOHS7Kxk=
+ pksDzJYrhx73AXebAVOG5361KE8Ij/LqkoUrX4ihbsg=
- Headers/MBMicroBlinkDefines.h
+ Headers/MBMicroblinkApp.h
hash
- O/HBCk52leRQ1YV8XDCUpkN1NFw=
+ TdX2P/Damv+2RViHn9Ih7qL60C8=
hash2
- 3kWNnUVoSBM+NluR0k1s4d6/gyBNn/hcM3r1DBWPwGQ=
+ y3Cuk4BPt4Ed7VPmqXWseQXo3OhgOSeCiN+L0dLq5ps=
- Headers/MBMicroBlinkInitialization.h
+ Headers/MBMicroblinkDefines.h
hash
- 5YdAZlRjQmSc048/LXHrqt/gGmw=
+ rMxtxzm2Y4yJD3g2BzxdipAbVFA=
hash2
- ezI4y3nKGJTi6M2JunEtwJSo2JMsBo3lG+LQEPDaAjA=
+ 1mpbyVbXHxPJIqXOrP0vcy7kN23vy61T7TlpdIvcbS0=
- Headers/MBMicroblinkApp.h
+ Headers/MBMicroblinkInitialization.h
hash
- uRPi91+BMFWgrF+8ws0aXrKPVpU=
+ QSpirY+gUS9A5KVIisHMsA1yfik=
hash2
- YlxPyvenJqcJW0/9TAJI0wag1L/qJGw2lTQh/NiKiPk=
+ S1L1NRQMNZWdG1A2ey6VsKjiMLYOXgsnwyDuX8BGssc=
Headers/MBMicroblinkSDK.h
hash
- QINMlP5qEMbUx9uNvHAnuAJuOnQ=
+ 5+B1PzDl4C74yfqoLAPkpN1ySzk=
hash2
- 8+V5E9xDxTfnaX0bIf87OoBLH25vBFlvzh+0yQTpKhI=
+ P8RCtAEHvrf06Fw2GdVXNJjcoShW0cqT8DncwDdn5Q8=
Headers/MBModernViewfinderSubview.h
hash
- 5XSFVvhxw4LVFDUJqT8MXtCUuGI=
+ g9vyv1iWGhrGQFha5+l78ZnBF4k=
hash2
- xpKOYqn8YCxq8BBo2BOplYKw4Dk93Vtk7XVxfOvWN5M=
+ /syjUI0NhLe9lhpiE1/qsvhNwK0kzNl587J8G5rD0Jo=
Headers/MBMrtdDetector.h
hash
- aUIEmz597anOK9w8DleNitPCMww=
+ 6/eEvZxs7hJimHjz/LYxkOkYx2k=
hash2
- SrnfvhVQ3H+BhHxzc4kbdlKeDPMnDVikdm7wL67tABk=
+ OMQWjiN9ckVDTy0eWkEjKS5yDbvWjRcoqiENAFkXiPs=
Headers/MBMrtdDetectorResult.h
hash
- IW+FIMBkQUBsIHrYm7KSqZ0Z2yc=
+ dSTqPXpsPHBrcU2KM+DnKre62PA=
hash2
- 8GyxeOzH189CtZmcnoevlhef2k8Gq5XxtijOsp7vP3Q=
+ uGljcG/k5uyE+3xmxld8eSZnDDXCmN3z4rPVotrtjF8=
Headers/MBMrtdSpecification.h
hash
- rHYOFz1vqG1kNlRW7IvQjSelBcM=
+ NtZFExUczIcObeXwtdMI7i+DGg0=
hash2
- RvT3G/RF6SwByeqMjXIJxbpri1GifysTxqJEr4V6aoI=
+ pd4Mdpd20tcesQdukvk3t5S7Jer9FEKoUCtYkeeJxjA=
Headers/MBNativeResult.h
hash
- rXCTf5MOs1iy31txh5izI8FF7Xc=
+ GCEyCCwbLge32bVB61h+h+eYHKA=
hash2
- Ej/LvneL0jvBtVEMc9ApCEcywMH9RIGAI7QT+jC6Iyw=
+ z/I44iYjSDPc7t/rBUlc6NTazsUMBy7V6TXzD/Q0JXo=
Headers/MBNoUpScalingDewarpPolicy.h
hash
- wipdzW9EiRH1KrZvX5Wda/N0WJA=
+ rSd3exLHKBeTIu0/xzJD5wkbYk4=
hash2
- gLZU+6AsP9f4yMypqKJCwM3CafhpsHOTSo5K9rkgAyA=
+ L7ZqkP+BaWaA3qUMr3xaWqvL0kyiZZ1uFGFQ18/7q6M=
Headers/MBOcrEngineOptions.h
hash
- ba6RFQkx3UM2BZfzTIvfI7NhR+Q=
+ jO8YnhnjuYhrlfwrxGDptBg5OMs=
hash2
- mTx8rOi2RwKt8eyREiybKkuZM5wbUYWhZ9RFkT38JPE=
+ VU5ezLb/x7IbJ7odKpCn/MfPC97MjC4M3Ish5HFsnEQ=
Headers/MBOcrFont.h
hash
- ULAaoF+T8ZdhBqjXfvq4UC2XYUI=
+ uVr7j0xbrP8/VKibp1wqVFSW7Ow=
hash2
- /hOv27RKdT1T4mkbmgm1ro1b/MhhzZfGnIRNpLOY1zo=
+ sv1N5/xlABn4rAzKLB9zhKyp4mOGcYa9wW/Sq0sFWUM=
Headers/MBOcrLayout.h
hash
- Cmk+BdfzptYm/bBSZctJU5EkCtQ=
+ NKrOErllp3nVLSXP0O6i/evMED0=
hash2
- drP070ysFSLQOOQwkkr7yF7FxDxPisnZiIuOhgHf8To=
+ QTjADLoZWcwm2q1HCBPcgLjsfTTOPrBVhKGLc6micJo=
Headers/MBOcrLayoutSubview.h
hash
- k5IW15xYmMnwmz3CLqtAwjHNfYc=
+ tO2JlNAaA0why5+ZskMyG/gt9sA=
hash2
- bRPuqzqjc5OAp7aJASWTdvcSx0eHciww4ypaJGQLRMw=
+ g9HhzfQO0gLt3WweOYnrDHzfEbFUThTb+ADifZrONkw=
Headers/MBOcrRecognizerRunnerDelegate.h
hash
- 34XIHP8TThsP+guM97lS/lX+uos=
+ ZqeK7evp/eHLrSCUYe4gXEFb2Ec=
hash2
- XFhO7dgiUYEAASb9rGVvkEr73CJRV/lZD4MWTcGeE08=
+ FaNwNNv0gu50v3avtD+4+xnfM3DZckJLyaP8ins9EVk=
Headers/MBOcrRecognizerRunnerViewControllerDelegate.h
hash
- C2flxMElfu4alu6S3gUfconkrWo=
+ ExRS1jsEGO29Pmf5N5TQFwCducg=
hash2
- 8lkX1N/NF9NEhVl350di8MpgKZYkRGpAeMwO5g3o2ZY=
+ ettjErRnYSIPsBGvQGz4hOl8+p1NaK24cQYXxn63Qms=
Headers/MBOcrResultSubview.h
hash
- 1CX3lnKdkBZOaGYqgSAqZJ8FLz4=
+ tbKKD8/idN9VFLXsezK0D93Kf0E=
hash2
- dwxlXjO//YvPhL+zvyXIad6LqV/0OHOOhkwiZfqwD1w=
+ pFwKMmuSSnI4GRyVtndyVLEfaa9HLlXbTw8E5gAaJ4c=
Headers/MBOverlayContainerViewController.h
hash
- J+KkQ/5lO0amWlfTMDefg5gJfa8=
+ rwiRS3zDLiUjcXPggVVCizvuOlY=
hash2
- 8VpwGPSvevI9adNxZyfP/dH/V55cdlCp9/gbLQ4MZps=
+ 3cHK4xczxq8/VhXxYb4TJMKsv2g+IUZwGfLuHHbxBwY=
Headers/MBOverlaySettings.h
hash
- 8ayTgyDdyjH3MAZLckbHfKIHChc=
+ aVkClUCvZiCM6fIAPXbIHr0FSKw=
hash2
- ykqB+foR1H0tak6SnLQScFHl9wkTiedY19fVIPbq6Z8=
+ 7xtiFODZNoUbYTs6l3EVNYhbznLoX7oa4PKXW+OkZAU=
Headers/MBOverlayViewController.h
hash
- PK4Y1SJDzTMUwh6ksy6lIzPCp9o=
+ UzqoT2+ZASYqVM60c4eN4KOeGUs=
hash2
- KHKoPeIjk1i5F+LrzxeFJbGlBM/4jG5evhstUAj1Ai4=
+ S8DA3YN8zJj9id258fuiSKddsnL315w6m+ri7RVb06g=
Headers/MBParser.h
hash
- NhHml56y38J2oIiSFOKPQBGq7PY=
+ PeQI9LJJxdmFlkwedzpyxtQ4Bb4=
hash2
- ZoTjoRnwG3YOj+H/AUywzSKJLy66JpHTsM0wmOFZ+YE=
+ C+FKh5CUVecAwK6bJd/PwTPdufskqX36NS0AuNFwa3o=
Headers/MBParserGroupProcessor.h
hash
- VAba5hKVSg6N7BYqjGlnqDtwkIg=
+ DONFgRFSitEYJNPD/QOYy09E+jU=
hash2
- P4H9zZ/yKRYtuAN95O6wcd0+F52PVDINrBZ39rjJHJ8=
+ bg/owE6WzHlOoWpvijHNgJZ/Gjdlckt6vFa7PeS9iCw=
Headers/MBParserGroupProcessorResult.h
hash
- q5ewnvhRrbBWF6ZAzhxFFBclj3o=
+ dUKDn2xYpim14XmqIc3buZrNwDU=
hash2
- cq7xPvrGmZJchyc+05HiDKgVhp7mJtu1271pNmOEKrw=
+ 9EKOTaqzXgTP0aF9gFjEGjo/p5ufGdXbpAJcwMokQb8=
Headers/MBParserResult.h
hash
- b6uySWkIPUhq/aVaq46c3Wq9p9k=
+ +wWChQ3XdlBh33AaIxsS4b32rQM=
hash2
- XvpyK0U0792sKcILkyncF/WuXLH89Tnz9TZmyXrKF3M=
+ iXUvL7hqjqgZEOS2n3m2bDs/hoAmlOFTDNMJayvatvE=
Headers/MBPdf417Recognizer.h
hash
- d2lXhamuk3x+srnFb6DHfSFKAMI=
+ IdFvoMhzbc57CMGsOo1p6ufMqeg=
hash2
- Em58paNAQZeERD78KiNq3B8IHEa70R08YKsSPLncwHU=
+ QmJwpqpy1EgmhFgHh3doK0xzf4h9xLh/6aC8XfhsbN4=
Headers/MBPdf417RecognizerResult.h
hash
- cLi/eQRiWPm7RaTI2OZGZd/cV/c=
+ aX12egQZvl33mgVHhoM73I/Armc=
hash2
- qneKNLXzx4DUx0k4C1Zq3CuTF0CUauelrPreJRz2rbE=
+ Z7x6dXDsMVvWXK048npjhclk4E/QoyedeOd+vETaSsI=
Headers/MBPointDetectorSubview.h
hash
- ZJVSrjDkz9UIEWb1O69JzfolsDg=
+ zolUrbNidtvitCVJ+EbKBvPbfVQ=
hash2
- /nhVVGWOPhXgH0zuu5sSTJ6ejpfHooqRFtylL6yx/Xw=
+ aeIdLxXa9pL0yk41OscSb53s4FmQckgLfJVlkNu3r54=
Headers/MBProcessor.h
hash
- cJI/lESCM3Jh41nlfEnpqea0Bvs=
+ GQ/RQbZXgDekOhiHXJO/Airrn7s=
hash2
- X+NVjLeaz6SzbzRVl/AuSojXWE4F4TWoKpGVDIFTdcw=
+ KKLIY+St/tO5Jbt9CSdIQNAWoOYBZOtGfwTh6vCC3gM=
Headers/MBProcessorGroup.h
hash
- uWwsA9dVKHd/Y4KMtJKVBuMOQnM=
+ +6B4M5ysQW8HgMLaBolFoAo07S8=
hash2
- gpEwR7f7Eq/vjQhJS1JzFpRR7s/4gRnPPv9cuOSA/B4=
+ V8ETo2z7pYoJ7M43+0S9zCPWXKqa7JQ/ED2G/CvO0Rc=
Headers/MBProcessorResult.h
hash
- 7n+Rpho6t1VO9vrEtZ+d3Ok3Bjg=
+ lLfhtb32umGGvC/G8JNajXxwykg=
hash2
- yZkdOyU6jakl7gd7oBH8ApOhn1reswA09bGE0e0JRmI=
+ BCu6TDJS9IyUPxsAgklDq0nYqBPDg81kuaN353Fqsyw=
Headers/MBQuadDetector.h
hash
- 2YBH5Hs7ztAG3P3IM+VvbeWlNpI=
+ AtXFnUkrnZLtFe+zy428DMmr14M=
hash2
- 9woGy5787cTTUBYXDO10dLR6/dRWktUHzmqCpwx1/O0=
+ dsovAr99EZCJedwJ6i+1dbBFfTdFMx7mUlX6Bb/MiBo=
Headers/MBQuadDetectorResult.h
hash
- RGNqJyAPUIkreoypQpGszMWp4JE=
+ MvjEDWMDyEicWcAFl7Vkft7W1hE=
hash2
- MVrEp1xtxSYiZGJm876vvSPs0y1XKTMhC6aL6QYZomU=
+ HSJ7LRTQyF1MpRNSE7eg8soMvBqLiUJ7I7cwo3tUYQ8=
Headers/MBQuadDetectorSubview.h
hash
- VVtfF6XDvZu8VotaNFinaEhFUW8=
+ fHQpHrIyw3RO2NlXtVUrl296nNs=
hash2
- F78O+Dh4VX8zA4SR8xHRsy/qNNu+LcBbRmpXGHY+yeQ=
+ JRuF+vXQ8MDykafv82rZ71QsCAYehIY4tIM1rzQ1650=
Headers/MBQuadWithSizeDetector.h
hash
- 5ZN6vPsZHbAGlemOC5j5b6Jn3AM=
+ Aj8hbLJyjsgGf0pzG3gkMgpkUqs=
hash2
- V24jgYg8+DB52g0/AfpUkVyHAre7+I3piRA3Rq5cVYo=
+ q+QRJdsm0ugrXceh4h1j3vBOO/qUUwGjZU7DjvCHtHI=
Headers/MBQuadWithSizeDetectorResult.h
hash
- ACKNFXuuyTYecf46lgOjoDKmwk8=
+ Blb9qY7OP7neRXBM8/5tG62f7Yw=
hash2
- zJGOg4SuKXE+MxaUbgtUPnxHT4WEzfwrERFqPH6w1FY=
+ exPzguXxTOEVvl8IFXdV03G36o1HUrJbDU+gdim2WQ4=
Headers/MBQuadrangle.h
hash
- w2x0GSIT+FxE4fNQF1EnM4cNwtU=
+ Td0bw+EvmD2NCQNlro63eD0wa7Q=
hash2
- wjepEoxD+w4fvwFC3G5HmzuqU4Vu9jEmPbdpADrmEHg=
+ yHqRiUaVplup6Hn/gCenGf17UoqJMo367IS0w+LXLKk=
Headers/MBRawParser.h
hash
- UV5bgMt8Hwa6TgHvIrApTFpAd90=
+ DxLD74MOxmJo6+97lNaRG1HI51I=
hash2
- 53luhbSDScs6n6tdOyL+qFvS3agb+wEKMluQgy/Wvhc=
+ fvDPeo5PNjIvo1Xxrd/C/ca8WrsJT/x0SmLvfnVHB7c=
Headers/MBRawParserResult.h
hash
- iL+Ap0dUUOqcoteQXKu/gccDhCY=
+ UfzNNR+OEGbJZTRn3qbEMW5RTLM=
hash2
- k6QFLP2SdU3FcxDbhkFVVI9HeA0s8AaPU+Qo5FaYig0=
+ YZPOJ1vDKgJbZKYwBUs7jrbgO0pLZF3+fl4qwyNxh6U=
Headers/MBRecognizer.h
hash
- hT6xNu4n9cnCT2WVyNJXIRM/Xzg=
+ b/ZrocozvdVfv0Gba1TNb0kbmek=
hash2
- y4ROsoGNX7YP6N+kGqoIoukfVEEMBBumtSCz4he0NRc=
+ Pu+RamT1NGa/6at3e3QCSr2izta5aSxdw62BSMNXC2k=
Headers/MBRecognizerCollection.h
hash
- TIlSH/lOK85O5YiQz4DYRyxnPDw=
+ 6ILx2hstxB7QHXsurNAmcyIGZ4o=
hash2
- cMLx7/Feq8lzMRXg5hPHknuXFVUxNGc05UEjDGEVv0A=
+ oyhgSxjeIVg1kB3xaach5Az2lEz+X1LorkaEz3Hd8QM=
Headers/MBRecognizerResult.h
hash
- jEKJ0h3bM9F0HTTWR7IQ+AMUCIk=
+ FXhnC4R0FBSkmks7nIT5A/mkjlE=
hash2
- RiBG5M513MfrGDOJ0sCcf2Nj9HZSauqbku8K70JE5NM=
+ y6VdRHOcIrRtObxJbm2OJyRBWv/cbWX8FFgWmRKDK5k=
Headers/MBRecognizerRunner.h
hash
- tRQ70mIe85mn9psOlKWFkJDD7mw=
+ 66ls/DMLs+32immpxueR9AkKHuk=
hash2
- 4V7qoqLJT8jD97o9hTwsmWfn7AZP3qXU/Cm4rTBSLOs=
+ OewlbcoaHym7esQa2QmKCgtjW/E4ubP65FCknjP/oJo=
Headers/MBRecognizerRunnerMetadataDelegates.h
hash
- zEKJSnvSW6s2cxo3xz6K/lJmqZk=
+ VaNA5sC9fwdzdu7hOZvRVXJZoeo=
hash2
- O4abSN7UWJdfv66n2ZxzORk0KPMuRX1Ovdah/mVOLEY=
+ VtmrVTd26+dlP236o+HR4A4Lpl0jF0bjgMFRnKvQAYw=
Headers/MBRecognizerRunnerViewController.h
hash
- /Ct/h2wowTH0hlJn1x3HckC8ddg=
+ 0wMD+YY1DaqbdYaAkw2vu0g/cAQ=
hash2
- qFc2aepNILT3pr9X7RhpCqqDEGbycnWRkPe5Ow7tA1E=
+ DP+uWLQldXHEE8Id9cKjSm7vh7bCemPp2merj8vtkDY=
Headers/MBRecognizerRunnerViewControllerDelegate.h
hash
- kp7UHE4tBGp6CN6h5ssici3xPHQ=
+ BhLVTlhMG8DQHhpzsjQHhILnVeE=
hash2
- 5tmnE6RYEX+II/c7Yy9qNojPqhINGnKxg1yoxj/I0N4=
+ k8540TAfUNlIma3cOAsxU6c8sOOCwjo4EK9KbCBvbNQ=
Headers/MBRecognizerRunnerViewControllerMetadataDelegates.h
hash
- KbeVvnxgJ4KL5YRRt6eAntjnGKw=
+ QTWcI7/D51+/QVIhP/+p5IGPKzs=
hash2
- sfKOXj3yMtwkqxOEQSapiN/FNYNm9pw3clQWHn9oh0s=
+ 12iS11lM+wCjO7HWHAnrpTVtfWsVO0KAigR6svbqYHg=
Headers/MBRegexParser.h
hash
- bNeNc46pIdC3ihfGkNfxHvzrS6Y=
+ MP/N3xQ6TKxSR2csamlqYF4VIrM=
hash2
- 1vt/S1w7V0Hy4vX/7vjOf60ageD3sWPcqGQAImjZgu4=
+ CfKPzHvZbzfwRZxe3DDJTDtnktakAGe+Ric9B0GFw4g=
Headers/MBRegexParserResult.h
hash
- YyCuVlVHZLOKcrxjD4ZFYwqeJnM=
+ IZzqf1YBuzqh/BmbLBg1h03hlL4=
hash2
- FJngbJeZKvyXQGNWMxQrirvFPfxdSCzmrGDGkY38NVM=
+ UT0Q6Js3WVEbuZ67G0425OxAXIcJa/siRoWQo3qs0cE=
Headers/MBResultSubview.h
hash
- jVIKXBcAOClu6Icw3hnusiqCxg8=
+ Wxpu6oTG78Nchj1gwzKbVmuncxY=
hash2
- ZDQ9j9R9Jblb9fJDfjVBWevHBWkFwb5dXAzHSvBcEhI=
+ Do8Lk/80aY7LF1dO+68n+9ewSwqDQFcx7PC7PJOGZ/w=
Headers/MBScanElement.h
hash
- vGf2vNqcAZM2LV72Q30/1F16Jjs=
+ 6crMEHsfRdAgO8EEIA3votAc030=
hash2
- kur7JYhk8zAkda3/hm7s7v0sVbpe3e0XKs+SD710dXE=
+ l5htaS2/I6Xd9tW+Xwd8pmtxVVHbVaC6q/e6TGikZak=
Headers/MBScanningRecognizerRunnerDelegate.h
hash
- WMbeMTAUYtnWcOC6VRywzq1yVE0=
+ eyGnu6s7zR8mOT0oJY7up8im7DA=
hash2
- JpmN+Bx/7XETXC37bfTpBtO3jN23MCIWJZc2sxkD12c=
+ 1j3dsALonjzgzmnf1dUIQhSE+Vx5xqsY3l3zMXzHOjo=
Headers/MBScanningRecognizerRunnerViewControllerDelegate.h
hash
- zhKckxTEeC55E86ASWrhuXN8FM0=
+ YA95F4HUsGH5gIElWApN5ngvWxo=
hash2
- 1ijRGOY1U2v/uqDDTR37SmPGA2zduLifBXihjvyYj4k=
+ ee2tv51wKNZQuSu/x54yKSzv3hefs8MRt4BgGlRdQCs=
Headers/MBSimNumberRecognizer.h
hash
- bsCMkOD9donh1qP+VewnUYUmJ+I=
+ S0TU+ia4P8UyZvQOoa9JXrFwGHI=
hash2
- qC0dEaNLAbRdELr4EbvpE64Vjze02jTSEbHyzu7JxY8=
+ NxLa132UfVwv70DAql8Q7/G1vmXTaKPQj9AxBeN9jRM=
Headers/MBSimNumberRecognizerResult.h
hash
- 4thk8k4kQbn+qT+GBODtfWL5Gfc=
+ 5T6m9Mbr+6DXo9iMWCd1VXtyEMw=
+
+ hash2
+
+ O0BKyyctdIwFlL2Rr1sG7K0WZQ7SsNYx4Mxsf9IYhPg=
+
+
+ Headers/MBStringProcessingRecognizerRunnerDelegate.h
+
+ hash
+
+ c2v+SqYtbVxHFjshOAc4iUl3NX8=
hash2
- A8s8aSXzZ+QjjtkYW+fDqfcSE3OJxTl3/FglJzW+eSU=
+ j4K6oPOS5mqxuC54JHsqSarA3uS1lVCpRAjDiMz6nyQ=
Headers/MBSubview.h
hash
- Pa2YxepPtbRNeiKB+g9DdwVqxAI=
+ Ow7aEX7k3rkSbdYeClXl3NMGo9M=
hash2
- oWyYlYJ/wsdGDtaS0AXhTHbuYHZCrTYWUkG/opMBuHs=
+ von7+kHNiZRwSBf8uDcQEbKdm+gBHpe7cJMBm0+46xM=
Headers/MBSuccessFrameGrabberRecognizer.h
hash
- DWHTnjXNYH3bj7orMdj85BGa3o4=
+ LQpdx6ZPyDUvIMDvdmfiRgo5HF8=
hash2
- HpEjrpEggX2jgEwQDv0YpIKImBwGPWbZR9ZOwq1CtPE=
+ 9ypXObIMHf3NexXiK1lzhHs5CIrhChXwCdPtyrEeeY0=
Headers/MBSuccessFrameGrabberRecognizerResult.h
hash
- P5y8tnZESOLMjNFROHmT3MWMHt0=
+ JOLsnDNyVUSzStAZVJjN0vIVKeY=
hash2
- 4U3pKXj6vHSshgHOGt7auXaEo2JfP+l92hbiqEfiLKQ=
+ 8GiJPNGn87PhPLWgOaBdbZvehpfGK+MuSeEJozUGAAw=
Headers/MBTapToFocusSubview.h
hash
- eFDmWXFbOxJeolPx5dm9b0sjnkc=
+ ig8kZV0h4OAurOVt4mH+ASUi2mk=
hash2
- uJTn3G58Re0PwIJvENUnL8ScQTs08/KtmEp4lAwC8cQ=
+ /VxrT8y1dnz6G0AsHp546qXICsHrcI/c3R5kRgVC1sE=
Headers/MBTemplatingClass.h
hash
- lCoubdWyGNnWfuTAbXT8kFU/UsI=
+ JPZskSz91iH0hHXPJG1Nv0ToZdc=
hash2
- cZwF89yqAczNekxIfBbq/Fr60HEjq5jn0TBymJHEnRs=
+ igUQrDTjUAqN/+/5+aVfFGlaelxPo0B3mHKbpFdCrm4=
Headers/MBTemplatingRecognizer.h
hash
- dPVb21kseZgaAk8pqw9rG/LipG8=
+ CZ36DBPBHyYys5mDGljWVdfaHxc=
hash2
- MbnYfkZ/NUmhvSyhlbtRnpltBjQ96srXNoC6kLMhEBc=
+ K3iml8U/HQRBqy3VmRSFJupvjCR/zdzdqgoTbBwkWGg=
Headers/MBTemplatingRecognizerResult.h
hash
- shvBfCRDtBONMxB0XqkKdufZd+o=
+ OPu5MLwbS/fpex5uiwMxvOBCPVA=
hash2
- Wv+K+rRdLYUEVv3ihenS98xJIZ6kCzq3+2+Dhf7eQE0=
+ 5T3nk+zRssIi06eTyCjJl2aU2/zIsTV4V8VnYXWfpPI=
Headers/MBTopUpParser.h
hash
- ncdHOqNjU459DfaNIq4KdQS11qc=
+ MmQQ8n1WYyc/beBy65z+Xe9fTaA=
hash2
- BupjMjEGSI4e0aYiejxHr62P9IsC4ntEFCE5eixvPdg=
+ FqNogy6XUjfHDqU7beikVJWOln/8YooHFFIjo9+ABu8=
Headers/MBTopUpParserResult.h
hash
- OJQA7oodZEuyeBpCZucdTxNwi/I=
-
- hash2
-
- oRVHDClScl+DltTgJ6xYBcUYf4h/oF8Hx+3b64dYwFk=
-
-
- Headers/MBViewControllerFactory.h
-
- hash
-
- peoKcbrsRZrBAbBqihSbsoGzQLE=
+ UKjRUOoenR5yCTep5OvB/jHUqzY=
hash2
- YIFbK8TXvNl6XUGEF9Mnvy0PnyPgq88CW3X22f5zYAM=
+ OcKi1q7AJQsx9n6a8wNHv2zA/QkKsOx+gwW7iKk/9tE=
- Headers/MBVinParser.h
+ Headers/MBUIComponents.h
hash
- evEehLH9w9eGeyTXe5Qi40lm+kQ=
+ LDaRxchfLkkMqcwczmyXEjgWjKg=
hash2
- jXe1KtWKEpU2MiKe8yvbdnqafjBLz4yHiG4l6s84fWM=
+ /bXHYxptcpNoRabBb5ttEmN7n1jsVHgXE35PJNKtjGQ=
- Headers/MBVinParserResult.h
+ Headers/MBViewControllerFactory.h
hash
- o6ASkusZKmC1BZikIubtAH8xx60=
+ AN27TCnGNIsbi0wCtjj3SJjkxow=
hash2
- iWj8W19kfKhrGEtx90bBqizS3AZwgfbIu+wQN+JSc3A=
+ L4DIxo1htKfBQQVUnUQxZnEfeHPKfcAl4QkQbp3ZWeI=
- Headers/MBVinRecognizer.h
+ Headers/MBVinParser.h
hash
- kr9ut/9yE5B9XKgTosUWsD4LwB8=
+ wnrH5dY4R+o/IPuq9WJj1A6ex7U=
hash2
- BHuscL/9YYPzksWrZMepQUiB0bKG7IuhncE0feyNX40=
+ QLHNWiuFsQn/lxG3O5+m1bFcWz0BaepVJlFCPptfmqA=
- Headers/MBVinRecognizerResult.h
+ Headers/MBVinParserResult.h
hash
- CcYNhoSC9nSQfK7VfVACywtgRkc=
+ jXbmad0u6Fa0WTcJCx307EM/HK0=
hash2
- rKu9pkHxJdUmkGRR9Po/vIM4ve55ulX0TArCTJUwNzk=
+ 1K7NxOKbbSoyCFG9TOy7wu5BPPD9sbgRueA2MrHx5e8=
- Headers/MicroBlink.h
+ Headers/MBVinRecognizer.h
hash
- 2aAqlxZa9QbuU2ylk+Xe4m4afRo=
+ puun5+UOPPHZEtXb3BqBK9ubkfs=
hash2
- /kfOkIuR7iWvHpGQb3ib+VKT7iVWYfmhz2jtJfIKcGo=
+ X59uT+3yPGUS/9aiUCwgvU+BS1EjYMqS+kKp1gG5BUg=
- Headers/PPBlinkBarcodeRecognizers.h
+ Headers/MBVinRecognizerResult.h
hash
- OoFeRFbxZxITKJH+dD2GEwJCibk=
+ LYIkphjyYxTDBAwNqI+BOxAci/4=
hash2
- 9qXEMme2RAr2L5tGU+EwjFwxBOyY5NwVYnlKApBx5f8=
+ aspjOwl55lToJg43jjbI1aUUxvUWM3JMZsldixmanIU=
- Headers/PPBlinkInputRecognizers.h
+ Headers/MicroBlink.h
hash
- u+pbWh9cJsR94/Kk9dfWtizKODA=
+ +9E/QWCjqwAMSAsPGzXnWFJs6eg=
hash2
- 2mDZ5Mqv8E9OhifbdtZloBR1xKZgTZHOPPObKlEwZF0=
+ QvIVX7jly1UnBNu+nRh/SdMJ5OYJyPZJV+qRbd9+mKw=
- Headers/PPMicroBlinkDefines.h
+ Headers/PPMicroblinkDefines.h
hash
- ALTnkAS7vcgCyF5CaQZkMwQJKPY=
+ TOOJnk5dJ8DCF0SbYDw3abd72w8=
hash2
- oqAaL2VUb33UvPMKSY+Og3HvInEk9ia1WTh2/C1x+uc=
+ 9puAh03a6vlOVCNHv5W/gNDzu3AAtW/9tc/lFWOIOA0=
Modules/module.modulemap
hash
- r1IMnO5oqrKTdbYvy5j7J0DRUQ4=
+ V9XnUWJ3v7ZTIggf5MD31++YiQ8=
hash2
- 2I0X72jAndG+LYGriRMKJ3sr3K9zm6SVTTq/mDJ8m6o=
+ 2hCCzTpMwzdAmcBO7BIC8QY8YXR0Uc832E+CFRDFfEA=
rules
- ^
+ ^.*
^.*\.lproj/
@@ -2040,11 +2130,6 @@
weight
11
- ^
-
- weight
- 20
-
^(.*/)?\.DS_Store$
omit
@@ -2052,13 +2137,6 @@
weight
2000
- ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
-
- nested
-
- weight
- 10
-
^.*
^.*\.lproj/
@@ -2094,13 +2172,6 @@
weight
20
- ^[^/]+$
-
- nested
-
- weight
- 10
-
^embedded\.provisionprofile$
weight
diff --git a/PPBlinkOCR.podspec b/PPBlinkOCR.podspec
index 97179f9..6b7db27 100644
--- a/PPBlinkOCR.podspec
+++ b/PPBlinkOCR.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "PPBlinkOCR"
- s.version = "4.0.0"
+ s.version = "4.1.0"
s.summary = "A state-of-the-art OCR module for mobile devices"
s.homepage = "http://microblink.com"
@@ -31,8 +31,7 @@ Pod::Spec.new do |s|
}
s.source = {
- :git => 'https://github.com/BlinkOCR/blinkocr-ios.git',
- :tag => 'v4.0.0'
+ :http => 'https://github.com/blinkinput/blinkinput-ios/releases/download/v4.1.0/blinkinput-ios_v4.1.0.tar.gz'
}
s.platform = :ios
@@ -40,9 +39,9 @@ Pod::Spec.new do |s|
# ――― MULTI-PLATFORM VALUES ――――――――――――――――――――――――――――――――――――――――――――――――― #
s.ios.deployment_target = '8.0.0'
- s.ios.resources = "MicroBlink.bundle"
+ s.ios.resources = "Microblink.bundle"
s.ios.requires_arc = false
- s.ios.vendored_frameworks = 'MicroBlink.framework'
+ s.ios.vendored_frameworks = 'Microblink.framework'
s.ios.frameworks = 'Accelerate', 'AVFoundation', 'AudioToolbox', 'AssetsLibrary', 'CoreMedia'
s.ios.libraries = 'c++', 'iconv', 'z'
diff --git a/README.md b/README.md
index 3684583..8b69fc7 100644
--- a/README.md
+++ b/README.md
@@ -20,66 +20,68 @@ BlinkInput SDK is a state-of-the-art OCR module for mobile devices. It's OCR tec
BlinkInput is a part of family of SDKs developed by [MicroBlink](http://www.microblink.com) for optical text recognition, barcode scanning, ID document scanning and many others.
+BlinkInput powers [PhotoMath app](https://photomath.net/en/) where it's used to [recognize mathematic expressions](https://vimeo.com/109405701) in real time.
+
# Table of contents
-* [Requirements](#user-content-requirements)
-* [Quick Start](#user-content-quickStart)
-* [Advanced BlinkInput integration instructions](#user-content-advancedIntegration)
- * [UI customizations of built-in `MBOverlayViewControllers` and `MBOverlaySubviews`](#user-content-uiCustomizations)
- * [Built-in overlay view controllers and overlay subviews](#user-content-builtInUIComponents)
- * [Using `MBBarcodeOverlayViewController`](#user-content-mbBarcodeOverlayViewcontroller)
- * [Custom overlay view controller](#user-content-recognizerRunnerViewController)
- * [Direct processing API](#user-content-directAPI)
-* [`MBRecognizer` and available recognizers](#user-content-availableRecognizers)
- * [The `MBRecognizer` concept](#user-content-recognizerConcept)
- * [`MBRecognizerCollection` concept](#user-content-recognizerBCollection)
- * [List of available recognizers](#user-content-recognizerList)
- * [Frame Grabber Recognizer](#user-content-frameGrabberRecognizer)
- * [Success Frame Grabber Recognizer](#user-content-successFrameGrabberRecognizer)
- * [PDF417 recognizer](#user-content-pdf417Recognizer)
- * [Barcode recognizer](#user-content-barcodeRecognizer)
- * [BlinkInput recognizer](#user-content-blinkInputRecognizer)
- * [Detector recognizer](#user-content-detectorRecognizer)
-* [`Field by field` scanning feature](#user-content-fieldScan)
- * [`Field by field` feature](#user-content-fieldByFieldFeature)
-* [`MBProcessor` and `MBParser`](#user-content-processorsAndParsers)
- * [The `MBProcessor` concept](#user-content-processorConcept)
- * [List of available processors](#user-content-processorList)
- * [Image Return Processor](#user-content-imageReturnProcessor)
- * [Parser Group Processor](#user-content-parserGroupProcessor)
- * [The `MBParser` concept](#user-content-parserConcept)
- * [List of available parsers](#user-content-parserList)
- * [Amount Parser](#user-content-amountParser)
- * [Date Parser](#user-content-dateParser)
- * [Email Parser](#user-content-emailParser)
- * [IBAN Parser](#user-content-ibanParser)
- * [License Plates Parser](#user-content-licensePlatesParser)
- * [Raw Parser](#user-content-rawParser)
- * [Regex Parser](#user-content-regexParser)
- * [TopUp Parser](#user-content-topUpParser)
- * [VIN (*Vehicle Identification Number*) Parser](#user-content-vinParser)
-* [Scanning generic documents with Templating API](#user-content-detectorTemplating)
- * [The `MBProcessorGroup` component](#user-content-processorGroup)
- * [List of available dewarp policies](#user-content-dewarpPolicyList)
- * [The `MBTemplatingClass` component](#user-content-templatingClass)
- * [Implementing the `MBTemplatingClassifier`](#user-content-implementingTemplatingClassifier)
-* [The `MBDetector` concept](#user-content-detectorConcept)
- * [List of available detectors](#user-content-detectorList)
- * [Document Detector](#user-content-documentDetector)
- * [MRTD Detector](#user-content-mrtdDetector)
-* [Troubleshooting](#user-content-troubleshoot)
- * [Integration problems](#user-content-integrationTroubleshoot)
- * [SDK problems](#user-content-sdkTroubleshoot)
- * [Frequently asked questions and known problems](#user-content-faq)
-* [Additional info](#user-content-info)
+- [Requirements](#requirements)
+- [Quick Start](#quick-start)
+- [Advanced BlinkInput integration instructions](#advanced-integration)
+ - [Built-in overlay view controllers and overlay subviews](#ui-customizations)
+ - [Using `MBBarcodeOverlayViewController`](#using-pdf417-overlay-viewcontroller)
+ - [Using `MBFieldByFieldOverlayViewController`](#using-fieldbyfield-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)
+- [`MBRecognizer` and available recognizers](#recognizer)
+- [List of available recognizers](#available-recognizers)
+ - [Frame Grabber Recognizer](#frame-grabber-recognizer)
+ - [Success Frame Grabber Recognizer](#success-frame-grabber-recognizer)
+ - [PDF417 recognizer](#pdf417-recognizer)
+ - [Barcode recognizer](#barcode-recognizer)
+ - [BlinkInput recognizer](#blinkinput-recognizer)
+ - [Detector recognizer](#detector-recognizer)
+- [`MBProcessor` and `MBParser`](#processors-and-parsers)
+ - [The `MBProcessor` concept](#processor-concept)
+ - [Image Return Processor](#image-processors)
+ - [Parser Group Processor](#parser-group-processor)
+ - [The `MBParser` concept](#parser-concept)
+ - [Amount Parser](#amount-parser)
+ - [Date Parser](#date-parser)
+ - [Email Parser](#email-parser)
+ - [IBAN Parser](#iban-parser)
+ - [License Plates Parser](#license-plate-parser)
+ - [Raw Parser](#raw-parser)
+ - [Regex Parser](#regex-parser)
+ - [TopUp Parser](#topup-parser)
+ - [VIN (*Vehicle Identification Number*) Parser](#vin-parser)
+- [Scanning generic documents with Templating API](#templating-api)
+ - [Defining how document should be detected](#defining-document-detection)
+ - [Defining how fields of interest should be extracted](#defining-field-extraction)
+ - [The `MBProcessorGroup` component](#processor-group)
+ - [List of available dewarp policies](#dewarp-policy-list)
+ - [The `MBTemplatingClass` component](#templating-class)
+ - [Implementing the `MBTemplatingClassifier`](#implementing-templating-classifier)
+- [The `MBDetector` concept](#detector-concept)
+ - [List of available detectors](#detector-list)
+ - [Document Detector](#document-detector)
+ - [MRTD Detector](#mrtd-detector)
+- [Troubleshooting](#troubleshooting)
+ - [Integration problems](#troubleshooting-integration-problems)
+ - [SDK problems](#troubleshooting-sdk-problems)
+ - [Licencing problems](#troubleshooting-licensing-problems)
+ - [Other problems](#troubleshooting-other-problems)
+ - [Frequently asked questions and known problems](#troubleshooting-faq)
+- [Additional info](#info)
+
# Requirements
SDK package contains Microblink framework and one or more sample apps which demonstrate framework integration. The framework can be deployed in iOS 8.0 or later, iPhone 4S or newer and iPad 2 or newer.
SDK performs significantly better when the images obtained from the camera are focused. Because of that, the SDK can have lower performance on iPad 2 and iPod Touch 4th gen devices, which [don't have camera with autofocus](http://www.adweek.com/socialtimes/ipad-2-rear-camera-has-tap-for-auto-exposure-not-auto-focus/12536).
-
-# Quick Start
+
+# Quick Start
## Getting started with BlinkInput SDK
@@ -100,14 +102,21 @@ git lfs install
```
- **Be sure to restart your console after installing Git LFS**
-
+- **Note:** if you already did try adding SDK using cocoapods and it's not working, first install the git-lfs and then clear you cocoapods cache. This should be sufficient to force cocoapods to clone BlinkInput SDK, if it still doesn't work, try deinitializing your pods and installing them again.
- Project dependencies to be managed by CocoaPods are specified in a file called `Podfile`. Create this file in the same directory as your Xcode project (`.xcodeproj`) file.
+- If you don't have podfile initialized run the following in your project directory.
+```
+pod init
+```
+
- Copy and paste the following lines into the TextEdit window:
```ruby
platform :ios, '9.0'
-pod 'PPBlinkOCR', '~> 4.0.0'
+target 'Your-App-Name' do
+ pod 'PPBlinkOCR', '~> 4.1.0'
+end
```
- Install the dependencies in your project:
@@ -124,7 +133,8 @@ open .xcworkspace
#### Integration without CocoaPods
--[Download](https://github.com/blinkinput/blinkinput-ios/releases) latest release (Download .zip or .tar.gz file starting with BlinkID. DO NOT download Source Code as GitHub does not fully support Git LFS)
+
+-[Download](https://github.com/BlinkInput/blinkinput-ios/releases) latest release (Download .zip or .tar.gz file starting with BlinkID. DO NOT download Source Code as GitHub does not fully support Git LFS)
OR
@@ -141,18 +151,18 @@ git lfs install
- To clone, run the following shell command:
```shell
-git clone git@github.com:blinkinput/blinkinput-ios.git
+git clone git@github.com:BlinkInput/blinkinput-ios.git
```
-- Copy MicroBlink.framework and MicroBlink.bundle to your project folder.
+- Copy Microblink.framework and Microblink.bundle to your project folder.
-- In your Xcode project, open the Project navigator. Drag the MicroBlink.framework and MicroBlink.bundle files to your project, ideally in the Frameworks group, together with other frameworks you're using. When asked, choose "Create groups", instead of the "Create folder references" option.
+- In your Xcode project, open the Project navigator. Drag the Microblink.framework and Microblink.bundle files to your project, ideally in the Frameworks group, together with other frameworks you're using. When asked, choose "Create groups", instead of the "Create folder references" option.
-![Adding MicroBlink.embeddedframework to your project](https://raw.githubusercontent.com/wiki/blinkocr/blinkocr-ios/Images/01%20-%20Add%20Framework.jpg)
+![Adding Microblink.embedded framework to your project](https://raw.githubusercontent.com/wiki/blinkocr/blinkocr-ios/Images/01%20-%20Add%20Framework.jpg)
- Since Microblink.framework is a dynamic framework, you also need to add it to embedded binaries section in General settings of your target.
-![Adding MicroBlink.framework to embedded binaries](https://raw.githubusercontent.com/wiki/blinkocr/blinkocr-ios/Images/03%20-%20Embed%20Binaries.png)
+![Adding Microblink.framework to embedded binaries](https://raw.githubusercontent.com/wiki/blinkocr/blinkocr-ios/Images/03%20-%20Embed%20Binaries.png)
- Include the additional frameworks and libraries into your project in the "Linked frameworks and libraries" section of your target settings.
@@ -185,10 +195,12 @@ Objective-C
To initiate the scanning process, first decide where in your app you want to add scanning functionality. Usually, users of the scanning library have a button which, when tapped, starts the scanning process. Initialization code is then placed in touch handler for that button. Here we're listing the initialization code as it looks in a touch handler method.
-Also, for initialization purposes, the ViewController which initiates the scan have private prperties for [`MBRawParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRawParser.html), [`MBParserGroupProcessor`](http://blinkinput.github.io/blinkinput-ios/Classes/MBParserGroupProcessor.html) and [`MBBlinkInputRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBlinkInputRecognizer.html), so we know how to obtain result.
+Also, for initialization purposes, the ViewController which initiates the scan have private properties for [`MBRawParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRawParser.html), [`MBParserGroupProcessor`](http://blinkinput.github.io/blinkinput-ios//Classes/MBParserGroupProcessor.html) and [`MBBlinkInputRecognizer`](http://blinkinput.github.io/blinkinput-ios//Classes/MBBlinkInputRecognizer.html), so we know how to obtain result.
+
+Swift
```swift
-class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate {
+class ViewController: UIViewController, MBDocumentOverlayViewControllerDelegate {
var rawParser: MBRawParser?
var parserGroupProcessor: MBParserGroupProcessor?
@@ -200,19 +212,19 @@ class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate
@IBAction func didTapScan(_ sender: AnyObject) {
- let settings = MBBarcodeOverlaySettings()
+ let settings = MBDocumentOverlaySettings()
rawParser = MBRawParser()
parserGroupProcessor = MBParserGroupProcessor(parsers: [rawParser!])
blinkInputRecognizer = MBBlinkInputRecognizer(processors: [parserGroupProcessor!])
let recognizerList = [self.blinkInputRecognizer!]
- let recognizerCollection : MBRecognizerCollection = MBRecognizerCollection(recognizers: recognizerList)
+ let recognizerCollection = MBRecognizerCollection(recognizers: recognizerList)
/** Create your overlay view controller */
- let barcodeOverlayViewController : MBBarcodeOverlayViewController = MBBarcodeOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self)
+ let documentOverlayViewController = MBDocumentOverlayViewController(settings: settings, recognizerCollection: recognizerCollection, delegate: self)
/** Create recognizer view controller with wanted overlay view controller */
- let recognizerRunneViewController : UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: barcodeOverlayViewController)
+ let recognizerRunnerViewController: UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: documentOverlayViewController)
/** Present the recognizer runner view controller. You can use other presentation methods as well (instead of presentViewController) */
present(recognizerRunnerViewController!, animated: true, completion: nil)
@@ -220,9 +232,10 @@ class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate
}
```
+Objective-C
```objective-c
-@interface ViewController ()
+@interface ViewController ()
@property (nonatomic, strong) MBRawParser *rawParser;
@property (nonatomic, strong) MBParserGroupProcessor *parserGroupProcessor;
@@ -239,7 +252,7 @@ class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate
- (IBAction)didTapScan:(id)sender {
- MBBarcodeOverlaySettings* settings = [[MBBarcodeOverlaySettings alloc] init];
+ MBDocumentOverlaySettings* settings = [[MBDocumentOverlaySettings alloc] init];
self.rawParser = [[MBRawParser alloc] init];
self.parserGroupProcessor = [[MBParserGroupProcessor alloc] initWithParsers:@[self.rawParser]];
@@ -248,7 +261,7 @@ class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate
/** Create recognizer collection */
MBRecognizerCollection *recognizerCollection = [[MBRecognizerCollection alloc] initWithRecognizers:@[self.blinkInputRecognizer]];
- MBBarcodeOverlayViewController *overlayVC = [[MBBarcodeOverlayViewController alloc] initWithSettings:settings recognizerCollection:recognizerCollection delegate:self];
+ MBDocumentOverlayViewController *overlayVC = [[MBDocumentOverlayViewController 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) */
@@ -259,19 +272,58 @@ class ViewController: UIViewController, MBBarcodeOverlayViewControllerDelegate
@end
```
-### 4. Registering for scanning events
+### 4. License key
+
+A valid license key is required to initalize scanning. You can generate a free demo license key, after you register, at [Microblink developer dashboard](https://microblink.com/login).
+
+You can include the license key in your app by passing a string or a file with license key.
+**Note** that you need to set the license key before intializing scanning. Ideally in `AppDelegate` or `viewDidLoad` before initializing any recognizers.
+
+#### License key as string
+You can pass the license key as a string, the following way:
+
+Swift
+
+```swift
+MBMicroblinkSDK.sharedInstance().setLicenseKey("LICENSE-KEY")
+```
+
+Objective-C
+
+```objective-c
+[[MBMicroblinkSDK sharedInstance] setLicenseKey:@"LICENSE-KEY"];
+```
+
+#### License key as file
+Or you can include the license key, with the code below. Please make sure that the file that contains the license key is included in your project and is copied during **Copy Bundle Resources** build phase.
+
+Swift
+
+```swift
+MBMicroblinkSDK.sharedInstance().setLicenseResource("license-key-file", withExtension: "txt", inSubdirectory: "directory-to-license-key", for: Bundle.main)
+```
+
+Objective-C
+
+```objective-c
+[[MBMicroblinkSDK sharedInstance] setLicenseResource:@"license-key-file" withExtension:@"txt" inSubdirectory:@"" forBundle:[NSBundle mainBundle]];
+```
+
+### 5. Registering for scanning events
-In the previous step, you instantiated [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html) object with a delegate object. This object gets notified on certain events in scanning lifecycle. In this example we set it to `self`. The protocol which the delegate has to implement is [`MBBarcodeOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBBarcodeOverlayViewControllerDelegate.html) protocol. It is necessary to conform to that protocol. We will discuss more about protocols in [Advanced integration section](#advancedIntegration). You can use the following default implementation of the protocol to get you started.
+In the previous step, you instantiated [`MBDocumentOverlayViewController`](http://blinkinput.github.io/blinkinput-ios//Classes/MBDocumentOverlayViewController.html) object with a delegate object. This object gets notified on certain events in scanning lifecycle. In this example we set it to `self`. The protocol which the delegate has to implement is [`MBDocumentOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios//Protocols/MBDocumentOverlayViewControllerDelegate.html) protocol. It is necessary to conform to that protocol. We will discuss more about protocols in [Advanced integration section](#advanced-integration). You can use the following default implementation of the protocol to get you started.
+
+Swift
```swift
-func barcodeOverlayViewControllerDidFinishScanning(_ barcodeOverlayViewController: MBBarcodeOverlayViewController, state: MBRecognizerResultState) {
+func documentOverlayViewControllerDidFinishScanning(_ documentOverlayViewController: MBDocumentOverlayViewController, state: MBRecognizerResultState) {
// this is done on background thread
// check for valid state
- if state == MBRecognizerResultState.valid {
+ if state == .valid {
// first, pause scanning until we process all the results
- barcodeOverlayViewController.recognizerRunnerViewController?.pauseScanning()
+ documentOverlayViewController.recognizerRunnerViewController?.pauseScanning()
DispatchQueue.main.async(execute: {() -> Void in
// All UI interaction needs to be done on main thread
@@ -279,20 +331,22 @@ func barcodeOverlayViewControllerDidFinishScanning(_ barcodeOverlayViewControlle
}
}
-func barcodeOverlayViewControllerDidTapClose(_ barcodeOverlayViewController: MBBarcodeOverlayViewController) {
+func documentOverlayViewControllerDidTapClose(_ documentOverlayViewController: MBDocumentOverlayViewController) {
// Your action on cancel
}
```
+Objective-C
+
```objective-c
-- (void)barcodeOverlayViewControllerDidFinishScanning:(MBBarcodeOverlayViewController *)barcodeOverlayViewController state:(MBRecognizerResultState)state {
+- (void)documentOverlayViewControllerDidFinishScanning:(MBDocumentOverlayViewController *)documentOverlayViewController state:(MBRecognizerResultState)state {
// this is done on background thread
// check for valid state
if (state == MBRecognizerResultStateValid) {
// first, pause scanning until we process all the results
- [barcodeOverlayViewController.recognizerRunnerViewController pauseScanning];
+ [documentOverlayViewController.recognizerRunnerViewController pauseScanning];
dispatch_async(dispatch_get_main_queue(), ^{
// All UI interaction needs to be done on main thread
@@ -300,32 +354,26 @@ func barcodeOverlayViewControllerDidTapClose(_ barcodeOverlayViewController: MBB
}
}
-- (void)barcodeOverlayViewControllerDidTapClose:(MBBarcodeOverlayViewController *)barcodeOverlayViewController {
+- (void)documentOverlayViewControllerDidTapClose:(MBDocumentOverlayViewController *)documentOverlayViewController {
// Your action on cancel
}
```
-# Advanced BlinkInput integration instructions
+# Advanced BlinkInput integration instructions
This section covers more advanced details of BlinkInput integration.
-1. [First part](#uiCustomizations) will cover the possible customizations when using UI provided by the SDK.
-2. [Second part](#recognizerRunnerViewController) will describe how to embed [`MBRecognizerRunnerViewController's delegates`](http://blinkinput.github.io/blinkinput-ios/Protocols.html) into your `UIViewController` with the goal of creating a custom UI for scanning, while still using camera management capabilites of the SDK.
-3. [Third part](#directAPI) will describe how to use the [`MBRecognizerRunner`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerRunner.html) (Direct API) for recognition directly from `UIImage` without the need of camera or to recognize camera frames that are obtained by custom camera management.
-4. [Fourth part](#availableRecognizers) will describe recognizer concept and available recognizers.
-
-## UI customizations of built-in `MBOverlayViewControllers` and `MBOverlaySubviews`
-
-### Built-in overlay view controllers and overlay subviews
+1. [First part](#ui-customizations) will cover the possible customizations when using UI provided by the SDK.
+2. [Second part](#custom-overyal-view-controller) will describe how to embed [`MBRecognizerRunnerViewController's delegates`](http://blinkinput.github.io/blinkinput-ios/Protocols.html) into your `UIViewController` with the goal of creating a custom UI for scanning, while still using camera management capabilites of the SDK.
+3. [Third part](#direct-processing-api) will describe how to use the [`MBRecognizerRunner`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerRunner.html) (Direct API) for recognition directly from `UIImage` without the need of camera or to recognize camera frames that are obtained by custom camera management.
+4. [Fourth part](#recognizer) will describe recognizer concept and available recognizers.
-Within BlinkInput SDK there are several built-in overlay view controllers and scanning subview overlays that you can use to perform scanning.
-#### `MBBarcodeOverlayViewController`
+## Built-in overlay view controllers and overlay subviews
-[`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html) is overlay view controller best suited for performing scanning of various barcodes. It has [`MBBarcodeOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBBarcodeOverlayViewControllerDelegate.html) delegate which can be used out of the box to perform scanning using the default UI.
+Within BlinkInput SDK there are several built-in overlay view controllers and scanning subview overlays that you can use to perform scanning.
+### Using `MBBarcodeOverlayViewController`
-## Using `MBBarcodeOverlayViewController`
-
-[`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html) is built-in overlay view controller which is best suiteed to use while scanning various barcodes. As you have seen in [Quick Start](#quickStart), [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html) has [`MBBarcodeOverlaySettings`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlaySettings.html). Here is an example how to use and initialize [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html):
+[`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html) is overlay view controller best suited for performing scanning of various barcodes. It has [`MBBarcodeOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBBarcodeOverlayViewControllerDelegate.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 [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html):
Swift
```swift
@@ -349,9 +397,33 @@ UIViewController* recognizerRunnerViewControll
```
As you can see, when initializing [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html), we are sending delegate property as `self`. To get results, we need to conform to [`MBBarcodeOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBBarcodeOverlayViewControllerDelegate.html) protocol.
+### Using `MBFieldByFieldOverlayViewController`
+
+[`MBFieldByFieldOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBFieldByFieldOverlayViewController.html) is overlay view controller best suited for performing scanning of various payment slips and barcodes with field of view. It has [`MBFieldByFieldOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBFieldByFieldOverlayViewControllerDelegate.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 [`MBFieldByFieldOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBFieldByFieldOverlayViewController.html):
+
+Swift
+```swift
+/** Create your overlay view controller */
+let fieldByFieldOverlayViewController : MBFieldByFieldOverlayViewController = MBFieldByFieldOverlayViewController(settings: fieldByFieldOverlaySettings, recognizerCollection: recognizerCollection, delegate: self)
+
+/** Create recognizer view controller with wanted overlay view controller */
+let recognizerRunneViewController : UIViewController = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: fieldByFieldOverlayViewController)
+/** Present the recognizer runner view controller. You can use other presentation methods as well (instead of presentViewController) */
+self.present(recognizerRunneViewController, animated: true, completion: nil)
+```
-## Custom overlay view controller
+Objective-C
+```objective-c
+MBFieldByFieldOverlayViewController *overlayVC = [[MBFieldByFieldOverlayViewController 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 [`MBFieldByFieldOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBFieldByFieldOverlayViewController.html), we are sending delegate property as `self`. To get results, we need to conform to [`MBFieldByFieldOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBFieldByFieldOverlayViewControllerDelegate.html) protocol.
+### Custom overlay view controller
Please check our pdf417-sample-Swift for custom implementation of overlay view controller.
@@ -365,13 +437,13 @@ Typical actions which need to be allowed to the user are:
- a way to cancel the scanning, typically with a "cancel" or "back" button
- a way to power on and off the light (i.e. "torch") button
-BlinkInput SDK always provides it's own default implementation of the Overlay View Controller for every specific use. Your implementation should closely mimic the default implementation as it's the result of thorough testing with end users. Also, it closely matches the underlying scanning technology.
+BlinkID SDK always provides it's own default implementation of the Overlay View Controller for every specific use. Your implementation should closely mimic the default implementation as it's the result of thorough testing with end users. Also, it closely matches the underlying scanning technology.
For example, the scanning technology usually gives results very fast after the user places the device's camera in the expected way above the scanned object. This means a progress bar for the scan is not particularly useful to the user. The majority of time the user spends on positioning the device's camera correctly. That's just an example which demonstrates careful decision making behind default camera overlay view.
### 1. Initialization
-To use your custom overlay with MicroBlink's camera view, you must first subclass [`MBCustomOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBCustomOverlayViewController.html) and implement the overlay behaviour conforming wanted protocols.
+To use your custom overlay with Microblink's camera view, you must first subclass [`MBCustomOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBCustomOverlayViewController.html) and implement the overlay behaviour conforming wanted protocols.
### 2. Protocols
@@ -392,24 +464,42 @@ self.scanningRecognizerRunnerViewControllerDelegate = self;
```
### 3. Overlay subviews
-Developer needs to know which subivew is needed for custom view controller. If you want to use built-in implementation we recommend to use [`MBModernViewfinderOverlaySubview`](http://blinkinput.github.io/blinkinput-ios/Classes/MBModernViewfinderOverlaySubview.html). In can be initialized in `viewDidLoad` method:
+The SDK contains various subviews you can use to notify users of the state of scanning. If you want to use built-in implementation we recommend to use [`MBModernViewfinderSubview`](http://blinkinput.github.io/blinkinput-ios/Classes/MBModernViewfinderSubview.html). In can be initialized in `viewDidLoad` method:
Swift
```swift
-viewfinderSubview = MBModernViewfinderOverlaySubview()
+viewfinderSubview = MBModernViewfinderSubview()
+viewfinderSubview.frame = view.frame
viewfinderSubview.moveable = true
view.addSubview(viewfinderSubview)
```
+
Objective-C
```objective-c
-self.viewfinderSubview = [[MBModernViewfinderOverlaySubview alloc] init];
+self.viewfinderSubview = [[MBModernViewfinderSubview alloc] init];
+self.viewfinderSubview.frame = self.view.frame;
self.viewfinderSubview.delegate = self.overlaySubviewsDelegate;
self.viewfinderSubview.moveable = YES;
[self.view addSubview:self.viewfinderSubview];
```
+To use this subview you'll need to implement `MBDetectionRecognizerRunnerViewControllerDelegate`(http://blinkinput.github.io/blinkinput-ios/Protocols/MBDetectionRecognizerRunnerViewControllerDelegate.html) then in the `-recognizerRunnerViewController:didFinishDetectionWithDisplayableQuad:` notify subview of detection changes.
+
+Swift
+```swift
+func recognizerRunnerViewController(_ recognizerRunnerViewController: Any!, didFinishDetectionWithDisplayableQuad displayableQuad: MBDisplayableQuadDetection) {
+ viewfinderSubview.detectionFinished(withDisplayableQuad: displayableQuad)
+}
+```
+Objective-C
+```objective-c
+- (void)recognizerRunnerViewController: (nonnull UIViewController *) recognizerRunnerViewController didFinishDetectionWithDisplayableQuad: (nonnull MBDisplayableQuadDetection *)displayableQuad {
+ [self.viewfinderSubview detectionFinishedWithDisplayableQuad:displayableQuad];
+}
+```
+
### 4. Initialization
-In [Quick Start](#quickStart) guide it is shown how to use [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBRecognizerRunnerViewController.html). You can now swap [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBRecognizerRunnerViewController.html) with `CustomOverlayViewController`
+In [Quick Start](#quick-start) guide it is shown how to use a default overlay view controller. You can now swap default view controller with your implementation of `CustomOverlayViewController`
Swift
```swift
@@ -422,16 +512,16 @@ UIViewController* recognizerRunnerViewControll
```
-## Direct processing API
+## Direct processing API
-This guide will in short present you how to process UIImage objects with PDF417.mobi SDK, without starting the camera video capture.
+This guide will in short present you how to process UIImage objects with BlinkInput SDK, without starting the camera video capture.
With this feature you can solve various use cases like:
- recognizing text on images in Camera roll
- taking full resolution photo and sending it to processing
- scanning barcodes on images in e-mail etc.
-DirectAPI-sample demo app here will present UIImagePickerController for taking full resolution photos, and then process it with MicroBlink SDK to get scanning results using Direct processing API.
+DirectAPI-sample demo app here will present UIImagePickerController for taking full resolution photos, and then process it with Microblink SDK to get scanning results using Direct processing API.
Direct processing API is handled with [`MBRecognizerRunner`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerRunner.html). That is a class that handles processing of images. It also has protocols as [`MBRecognizerRunnerViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerRunnerViewController.html).
Developer can choose which protocol to conform:
@@ -514,14 +604,20 @@ Now you've seen how to implement the Direct processing API.
In essence, this API consists of two steps:
- Initialization of the scanner.
-- Call of processImage: method for each UIImage or CMSampleBufferRef you have.
+- Call of `- (void)processImage:(MBImage *)image;` method for each UIImage or CMSampleBufferRef you have.
-# `MBRecognizer` and available recognizers
+### Using Direct API for `NSString` recognition (parsing)
-## The `MBRecognizer` concept
+Some recognizers support recognition from `NSString`. They can be used through Direct API to parse given `NSString` and return data just like when they are used on an input image. When recognition is performed on `NSString`, there is no need for the OCR. Input `NSString` is used in the same way as the OCR output is used when image is being recognized.
+Recognition from `String` can be performed in the same way as recognition from image.
+The only difference is that user should call `- (void)processString:(NSString *)string;` on [`MBRecognizerRunner`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerRunner.html).
-The [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) is the basic unit of processing within the SDK. Its main purpose is to process the image and extract meaningful information from it. As you will see [later](#recognizerList), the SDK has lots of different [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that have various purposes.
+# `MBRecognizer` and available recognizers
+
+## The `MBRecognizer` concept
+
+The [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) is the basic unit of processing within the SDK. Its main purpose is to process the image and extract meaningful information from it. As you will see [later](#available-recognizers), the SDK has lots of different [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that have various purposes.
Each [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) has a [`MBRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerResult.html) object, which contains the data that was extracted from the image. The [`MBRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerResult.html) object is a member of corresponding [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) object its lifetime is bound to the lifetime of its parent [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) object. If you need your `MBRecognizerRecognizer` object to outlive its parent [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) object, you must make a copy of it by calling its method `copy`.
@@ -531,7 +627,7 @@ As soon as one [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Class
As soon as `onScanningFinished` method ends, the `MBRecognizerRunnerViewController` will continue processing new camera frames with same [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects, unless `paused`. Continuation of processing or `reset` recognition will modify or reset all [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects's [`MBRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerResult.html). When using built-in activities, as soon as `onScanningFinished` is invoked, built-in activity pauses the `MBRecognizerRunnerViewController` and starts finishing the activity, while saving the [`MBRecognizerCollection`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerCollection.html) with active [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html).
-## `MBRecognizerCollection` concept
+## `MBRecognizerCollection` concept
The [`MBRecognizerCollection`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerCollection.html) is is wrapper around [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that has array of [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that can be used to give [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects to `MBRecognizerRunner` or `MBRecognizerRunnerViewController` for processing.
@@ -541,17 +637,17 @@ The [`MBRecognizerCollection`](http://blinkinput.github.io/blinkinput-ios/Classe
You cannot change the order of the [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects within the chain - no matter the order in which you give [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects to [`MBRecognizerCollection`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerCollection.html), they are internally ordered in a way that provides best possible performance and accuracy. Also, in order for SDK to be able to order [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects in recognition chain in a best way possible, it is not allowed to have multiple instances of [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects of the same type within the chain. Attempting to do so will crash your application.
-## List of available recognizers
+# List of available recognizers
-This section will give a list of all [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that are available within PDF417.mobi SDK, their purpose and recommendations how they should be used to get best performance and user experience.
+This section will give a list of all [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) objects that are available within BlinkInput SDK, their purpose and recommendations how they should be used to get best performance and user experience.
-### Frame Grabber Recognizer
+## Frame Grabber Recognizer
The [`MBFrameGrabberRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBFrameGrabberRecognizer.html) is the simplest recognizer in SDK, as it does not perform any processing on the given image, instead it just returns that image back to its `onFrameAvailable`. Its result never changes state from empty.
This recognizer is best for easy capturing of camera frames with `MBRecognizerRunnerViewController`. Note that [`MBImage`](http://blinkinput.github.io/blinkinput-ios/Classes/MBImage.html) sent to `onFrameAvailable` are temporary and their internal buffers all valid only until the `onFrameAvailable` method is executing - as soon as method ends, all internal buffers of [`MBImage`](http://blinkinput.github.io/blinkinput-ios/Classes/MBImage.html) object are disposed. If you need to store [`MBImage`](http://blinkinput.github.io/blinkinput-ios/Classes/MBImage.html) object for later use, you must create a copy of it by calling `copy`.
-### Success Frame Grabber Recognizer
+## Success Frame Grabber Recognizer
The [`MBSuccessFrameGrabberRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBSuccessFrameGrabberRecognizer.html) is a special `MBecognizer` that wraps some other [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) and impersonates it while processing the image. However, when the [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) being impersonated changes its [`MBRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerResult.html) into `Valid` state, the [`MBSuccessFrameGrabberRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBSuccessFrameGrabberRecognizer.html) captures the image and saves it into its own [`MBSuccessFrameGrabberRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBSuccessFrameGrabberRecognizerResult.html) object.
@@ -559,114 +655,60 @@ Since [`MBSuccessFrameGrabberRecognizer`](http://blinkinput.github.io/blinkinput
This recognizer is best for use cases when you need to capture the exact image that was being processed by some other [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizer.html) object at the time its [`MBRecognizerResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRecognizerResult.html) became `Valid`. When that happens, `MBSuccessFrameGrabberRecognizer's` `MBSuccessFrameGrabberRecognizerResult` will also become `Valid` and will contain described image.
-### PDF417 recognizer
+## PDF417 recognizer
-The [`MBPdf417Recognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBPdf417Recognizer.html) is recognizer specialised for scanning [PDF417 2D barcodes](https://en.wikipedia.org/wiki/PDF417). This recognizer can recognize only PDF417 2D barcodes - for recognition of other barcodes, please refer to [BarcodeRecognizer](#barcodeRecognizer).
+The [`MBPdf417Recognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBPdf417Recognizer.html) is recognizer specialised for scanning [PDF417 2D barcodes](https://en.wikipedia.org/wiki/PDF417). This recognizer can recognize only PDF417 2D barcodes - for recognition of other barcodes, please refer to [BarcodeRecognizer](#barcode-recognizer).
This recognizer can be used in any overlay view controller, but it works best with the [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html), which has UI best suited for barcode scanning.
-### Barcode recognizer
+## Barcode recognizer
-The [`MBBarcodeRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeRecognizer.html) is recognizer specialised for scanning various types of barcodes. This recognizer should be your first choice when scanning barcodes as it supports lots of barcode symbologies, including the [PDF417 2D barcodes](https://en.wikipedia.org/wiki/PDF417), thus making [PDF417 recognizer](#pdf417Recognizer) possibly redundant, which was kept only for its simplicity.
+The [`MBBarcodeRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeRecognizer.html) is recognizer specialised for scanning various types of barcodes. This recognizer should be your first choice when scanning barcodes as it supports lots of barcode symbologies, including the [PDF417 2D barcodes](https://en.wikipedia.org/wiki/PDF417), thus making [PDF417 recognizer](#pdf417-recognizer) possibly redundant, which was kept only for its simplicity.
You can enable multiple barcode symbologies within this recognizer, however keep in mind that enabling more barcode symbologies affect scanning performance - the more barcode symbologies are enabled, the slower the overall recognition performance. Also, keep in mind that some simple barcode symbologies that lack proper redundancy, such as [Code 39](https://en.wikipedia.org/wiki/Code_39), can be recognized within more complex barcodes, especially 2D barcodes, like [PDF417](https://en.wikipedia.org/wiki/PDF417).
This recognizer can be used in any overlay view controller, but it works best with the [`MBBarcodeOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBarcodeOverlayViewController.html), which has UI best suited for barcode scanning.
-
-### BlinkInput recognizer
+## BlinkInput recognizer
The [`MBBlinkInputRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBBlinkInputRecognizer.html) is generic OCR recognizer used for scanning segments which enables specifying `MBProcessors` that will be used for scanning. Most commonly used `MBProcessor` within this recognizer is [`MBParserGroupProcessor`](http://blinkinput.github.io/blinkinput-ios/Classes/MBParserGroupProcessor.html)) that activates all `MBParsers` in the group to extract data of interest from the OCR result.
This recognizer can be used in any context. It is used internally in the implementation of the provided [`MBFieldByFieldOverlayViewController`](http://blinkinput.github.io/blinkinput-ios/Classes/MBFieldByFieldOverlayViewController.html).
-`MBProcessors` are explained in [The Processor concept](#processorConcept) section and you can find more about `MBParsers` in [The Parser concept](#parserConcept) section.
-
-### Detector recognizer
-
-The [`MBDetectorRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDetectorRecognizer.html) is recognizer for scanning generic documents using custom `MBDetector`. You can find more about `Detector` in [The Detector concept](#detectorConcept) section. `MBDetectorRecognizer` can be used simply for document detection and obtaining its image. The more interesting use case is data extraction from the custom document type. `MBDetectorRecognizer` performs document detection and can be configured to extract fields of interest from the scanned document by using **Templating API**. You can find more about Templating API in [this](#detectorTemplating) section.
-
-# `Field by field` scanning feature
-
-[`Field by field`](#fieldByFieldFeature) scanning feature is designed for scanning small text fields which are called scan elements. For each scan element, specific [`MBParser`](#parserConcept) that will extract structured data of interest from the OCR result is defined. Focusing on the small text fields which are scanned one by one enables implementing support for the **free-form documents** because field detection is not required. The user is responsible for positioning the field of interest inside the scanning window and the scanning process guides him. When implementing support for the custom document, only fields of interest has to be defined.
-
-[`Field by field`](#fieldByFieldFeature) approaches are described in the following sections.
-
-## `Field by field` feature
-
-`Field by field` feature is designed for scanning small text fields in the predefined order by using [`MBFieldByFieldViewController`](#fieldByFieldUiComponent).
-
-To start with Field by Field feature all you need to do is to initialize MBFieldByFieldOverlayViewController and conform to [`MBFieldByFieldOverlayViewControllerDelegate`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBFieldByFieldOverlayViewControllerDelegate.html) (this example follows our FieldByField-sample-Swift project):
-
-Swift
-```swift
- // Create MBFieldByFieldOverlaySettings
- let settings = MBFieldByFieldOverlaySettings(scanElements: MBGenericPreset.getPreset()!)
-
- // Create field by field VC
- let fieldByFieldVC = MBFieldByFieldOverlayViewController(settings: settings, delegate: self)
-
- // Create scanning VC
- let recognizerRunnerViewController: (UIViewController & MBRecognizerRunnerViewController)? = MBViewControllerFactory.recognizerRunnerViewController(withOverlayViewController: fieldByFieldVC)
-
- // Present VC
- self.present(recognizerRunnerViewController!, animated: true, completion: nil)
-
-
- func field(_ fieldByFieldOverlayViewController: MBFieldByFieldOverlayViewController, didFinishScanningWith scanElements: [MBScanElement]) {
- // Whatever you want to do with results
- }
-```
-
-Objective-C
-```objective-c
- // Create MBFieldByFieldOverlaySettings
- MBFieldByFieldOverlaySettings *settings = [[MBFieldByFieldOverlaySettings alloc] initWithScanElements: [MBGenericPreset getPreset] initWithSettings: settings, delegate: self];
-
- // Create field by field VC
- MBFieldByFieldOverlayViewController *fieldByFieldOverlayViewController = [[MBFieldByFieldOverlayViewController alloc] initWithSettings:settings delegate: self];
-
- // Create scanning VC
- UIViewController* recognizerRunnerViewController = [MBViewControllerFactory recognizerRunnerViewControllerWithOverlayViewController:fieldByFieldOverlayViewController];
-
- / Present VC
- [self presentViewController:recognizerRunnerViewController animated:YES completion:nil];
-
- - (void)fieldByFieldOverlayViewController:(MBFieldByFieldOverlayViewController *)fieldByFieldOverlayViewController didFinishScanningWithElements:(NSArray *)scanElements {
- // Whatever you want to do with results
- }
-```
+`MBProcessors` are explained in [The Processor concept](#processor-concept) section and you can find more about `MBParsers` in [The Parser concept](#parser-concept) section.
+## Detector recognizer
-# `MBProcessor` and `MBParser`
+The [`MBDetectorRecognizer`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDetectorRecognizer.html) is recognizer for scanning generic documents using custom `MBDetector`. You can find more about `Detector` in [The Detector concept](#detector-concept) section. `MBDetectorRecognizer` can be used simply for document detection and obtaining its image. The more interesting use case is data extraction from the custom document type. `MBDetectorRecognizer` performs document detection and can be configured to extract fields of interest from the scanned document by using **Templating API**. You can find more about Templating API in [this](#detector-templating) section.
+# `MBProcessor` and `MBParser`
-The `MBProcessors` and `MBParsers` are standard processing units within *BlinkInput* SDK used for data extraction from the input images. Unlike the [`MBRecognizer`](#recognizerConcept), `MBProcessor` and `MBParser` are not stand-alone processing units. `MBProcessor` is always used within `MBRecognizer` and `MBParser` is used within appropriate `MBProcessor` to extract data from the OCR result.
+The `MBProcessors` and `MBParsers` are standard processing units within *BlinkID* SDK used for data extraction from the input images. Unlike the [`MBRecognizer`](#recognizer-concept), `MBProcessor` and `MBParser` are not stand-alone processing units. `MBProcessor` is always used within `MBRecognizer` and `MBParser` is used within appropriate `MBProcessor` to extract data from the OCR result.
-## The `MBProcessor` concept
+## The `MBProcessor` concept
`MBProcessor` is a processing unit used within some `Recognizer` which supports processors. It process the input image prepared by the enclosing `Recognizer` in the way that is characteristic to the implementation of the concrete `MBProcessor`.
-`MBProcessor` architecture is similar to `MBRecognizer` architecture described in [The Recognizer concept](#recognizerConcept) section. Each instance also has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBProcessor` object and it is updated while `MBProcessor` works. If you need your `MBRecognizerResult` object to outlive its parent `MBProcessor` object, you must make a copy of it by calling its method `copy`.
+`MBProcessor` architecture is similar to `MBRecognizer` architecture described in [The Recognizer concept](#recognizer-concept) section. Each instance also has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBProcessor` object and it is updated while `MBProcessor` works. If you need your `MBRecognizerResult` object to outlive its parent `MBProcessor` object, you must make a copy of it by calling its method `copy`.
It also has its internal state and while it is in the *working state* during recognition process, it is not allowed to tweak `MBProcessor` object's properties.
To support common use cases, there are several different `MBProcessor` implementations available. They are listed in the next section.
-## List of available processors
+## List of available processors
-This section will give a list of `MBProcessor` types that are available within *BlinkInput* SDK and their purpose.
+This section will give a list of `MBProcessor` types that are available within *BlinkID* SDK and their purpose.
-### Image Return Processor
+### Image Return Processor
The [`MBImageReturnProcessor`](http://blinkinput.github.io/blinkinput-ios/Classes/MBImageReturnProcessor.html) is used for obtaining input images. It simply saves the input image and makes it available after the scanning is done.
-The appearance of the input image depends on the context in which `MBImageReturnProcessor` is used. For example, when it is used within [`MBBlinkInputRecognizer`](#blinkInputRecognizer), simply the raw image of the scanning region is processed. When it is used within the [`Templating API`](#detectorTemplating), input image is dewarped (cropped and rotated).
+The appearance of the input image depends on the context in which `MBImageReturnProcessor` is used. For example, when it is used within [`MBBlinkInputRecognizer`](#blinkinput-recognizer), simply the raw image of the scanning region is processed. When it is used within the [`Templating API`](#detector-templating), input image is dewarped (cropped and rotated).
The image is returned as the raw [`MBImage`](http://blinkinput.github.io/blinkinput-ios/Classes/MBImage.html) type. Also, processor can be configured to [encode saved image to JPEG](http://blinkinput.github.io/blinkinput-ios/Classes/MBImageReturnProcessor.html).
-### Parser Group Processor
+### Parser Group Processor
-The [`MBParserGroupProcessor`](http://blinkinput.github.io/blinkinput-ios/Classes/MBParserGroupProcessor.html) is the type of the processor that performs the OCR (*Optical Character Recognition*) on the input image and lets all the parsers within the group to extract data from the OCR result. The concept of `MBParser` is described in [the next](#parserConcept) section.
+The [`MBParserGroupProcessor`](http://blinkinput.github.io/blinkinput-ios/Classes/MBParserGroupProcessor.html) is the type of the processor that performs the OCR (*Optical Character Recognition*) on the input image and lets all the parsers within the group to extract data from the OCR result. The concept of `MBParser` is described in [the next](#parser-concept) section.
Before performing the OCR, the best possible OCR engine options are calculated by combining engine options needed by each `MBParser` from the group. For example, if one parser expects and produces result from uppercase characters and other parser extracts data from digits, both uppercase characters and digits must be added to the list of allowed characters that can appear in the OCR result. This is a simplified explanation because OCR engine options contain many parameters which are combined by the `MBParserGroupProcessor`.
@@ -680,94 +722,95 @@ If we put `MBAmountParser` in one `MBParserGroupProcessor` and `MBEmailParser` i
`MBParserGroupProcessor` is most commonly used `MBProcessor`. It is used whenever the OCR is needed. After the OCR is performed and all parsers are run, parsed results can be obtained through parser objects that are enclosed in the group. `MBParserGroupProcessor` instance also has associated inner `MBParserGroupProcessorResult` whose state is updated during processing and its property [`ocrLayout`](http://blinkinput.github.io/blinkinput-ios/Classes/MBParserGroupProcessor.html) can be used to obtain the raw [`MBOcrLayout`](http://blinkinput.github.io/blinkinput-ios/Classes/MBOcrLayout.html) that was used for parsing data.
-Take note that `MBOcrLayout` is available only if it is allowed by the *BlinkInput* SDK license key. `MBOcrLayout` structure contains information about all recognized characters and their positions on the image. To prevent someone to abuse that, obtaining of the `MBOcrLayout` structure is allowed only by the premium license keys.
+Take note that `MBOcrLayout` is available only if it is allowed by the *BlinkID* SDK license key. `MBOcrLayout` structure contains information about all recognized characters and their positions on the image. To prevent someone to abuse that, obtaining of the `MBOcrLayout` structure is allowed only by the premium license keys.
-## The `MBParser` concept
+## The `MBParser` concept
`MBParser` is a class of objects that are used to extract structured data from the raw OCR result. It must be used within `MBParserGroupProcessor` which is responsible for performing the OCR, so `MBParser` is not stand-alone processing unit.
-Like [`MBRecognizer`](#recognizerConcept) and all other processing units, each `MBParser` instance has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBParser` object and it is updated while `MBParser` works. When parsing is done `MBParserResult` can be used for obtaining extracted data. If you need your `MBParserResult` object to outlive its parent `MBParser` object, you must make a copy of it by calling its method `copy`.
+Like [`MBRecognizer`](#recognizer-concept) and all other processing units, each `MBParser` instance has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBParser` object and it is updated while `MBParser` works. When parsing is done `MBParserResult` can be used for obtaining extracted data. If you need your `MBParserResult` object to outlive its parent `MBParser` object, you must make a copy of it by calling its method `copy`.
It also has its internal state and while it is in the *working state* during recognition process, it is not allowed to tweak `MBParser` object's properties.
There are a lot of different `MBParsers` for extracting most common fields which appear on various documents. Also, most of them can be adjusted for specific use cases. For all other custom data fields, there is `RegexParser` available which can be configured with the arbitrary regular expression.
-## List of available parsers
+## List of available parsers
-### Amount Parser
+### Amount Parser
[`MBAmountParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBAmountParser.html) is used for extracting amounts from the OCR result.
-### Date Parser
+### Date Parser
[`MBDateParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDateParser.html) is used for extracting dates in various formats from the OCR result.
-### Email Parser
+### Email Parser
[`MBEmailParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBEmailParser.html) is used for extracting e-mail addresses from the OCR result.
-### IBAN Parser
+### IBAN Parser
[`MBIbanParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBIbanParser.html) is used for extracting IBAN (*International Bank Account Number*) from the OCR result.
-### License Plates Parser
+### License Plates Parser
[`MBLicensePlatesParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBLicensePlatesParser.html) is used for extracting license plate content from the OCR result.
-### Raw Parser
+### Raw Parser
[`MBRawParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRawParser.html) is used for obtaining string version of raw OCR result, without performing any smart parsing operations.
-### Regex Parser
+### Regex Parser
[`MBRegexParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBRegexParser.html) is used for extracting OCR result content which is in accordance with the given regular expression. Regular expression parsing is not performed with java's regex engine. Instead, it is performed with custom regular expression engine.
-### TopUp Parser
+### TopUp Parser
[`MBTopUpParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBTopUpParser.html) is used for extracting TopUp (mobile phone coupon) codes from the OCR result. There exists [`TopUpPreset`](http://blinkinput.github.io/blinkinput-ios/Enums/MBTopUpPreset.html) enum with presets for most common vendors. Method `- (void)setTopUpPreset:(MBTopUpPreset)topUpPreset` can be used to configure parser to only return codes with the appropriate format defined by the used preset.
-### VIN (*Vehicle Identification Number*) Parser
+### VIN (*Vehicle Identification Number*) Parser
[`MBVinParser`](http://blinkinput.github.io/blinkinput-ios/Classes/MBVinParser.html) is used for extracting VIN (*Vehicle Identification Number*) from the OCR result.
-# Scanning generic documents with Templating API
+
+# Scanning generic documents with Templating API
This section discusses the setting up of `MBDetectorRecognizer` for scanning templated documents. Please check `Templating-sample` sample app for source code examples.
Templated document is any document which is defined by its template. Template contains the information about how the document should be detected, i.e. found on the camera scene and information about which part of the document contains which useful information.
-## Defining how document should be detected
+## Defining how document should be detected
-Before performing OCR of the document, _BlinkInput_ first needs to find its location on a camera scene. In order to perform detection, you need to define [MBDetector](#detectorConcept).
+Before performing OCR of the document, _BlinkID_ first needs to find its location on a camera scene. In order to perform detection, you need to define [MBDetector](#detector-concept).
You have to set concrete `MBDetector` when instantiating the `MBDetectorRecognizer` as a parameter to its constructor.
-You can find out more information about detectors that can be used in section [List of available detectors](#detectorList). The most commonly used detector is [`MBDocumentDetector`](#documentDetector).
+You can find out more information about detectors that can be used in section [List of available detectors](#detector-list). The most commonly used detector is [`MBDocumentDetector`](#document-detector).
-## Defining how fields of interest should be extracted
+## Defining how fields of interest should be extracted
`MBDetector` produces its result which contains document location. After the document has been detected, all further processing is done on the detected part of the input image.
-There may be one or more variants of the same document type, for example for some document there may be old and new version and both of them must be supported. Because of that, for implementing support for each document, one or multiple templating classes are used. `MBTemplatingClass` is described in [The Templating Class component](#templatingClass) section.
+There may be one or more variants of the same document type, for example for some document there may be old and new version and both of them must be supported. Because of that, for implementing support for each document, one or multiple templating classes are used. `MBTemplatingClass` is described in [The Templating Class component](#templating-class) section.
`MBTemplatingClass` holds all needed information and components for processing its class of documents. Templating classes are processed in chain, one by one. On first class for which the data is successfully extracted, the chain is terminated and recognition results are returned. For each input image processing is done in the following way:
-1. Classification `MBProcessorGroups` are run on the defined locations to extract data. `MBProcessorGroup` is used to define the location of interest on the detected document and `MBProcessors` that will extract data from that location. You can find more about `MBProcessorGroup` in the [next section](#processorGroup).
+1. Classification `MBProcessorGroups` are run on the defined locations to extract data. `MBProcessorGroup` is used to define the location of interest on the detected document and `MBProcessors` that will extract data from that location. You can find more about `MBProcessorGroup` in the [next section](#processor-group).
-2. `MBTemplatingClassifier` is run with the data extracted by the classification processor groups to decide whether the currently scanned document belongs to the current class or not. Its [classify](http://blinkinput.github.io/blinkinput-ios/Protocols/MBTemplatingClassifier.html) method simply returns `YES/true` or `NO/false`. If the classifier returns `NO/false`, recognition is moved to the next class in the chain, if it exists. You can find more about `MBTemplatingClassifier` in [this](#implementingTemplatingClassifier) section.
+2. `MBTemplatingClassifier` is run with the data extracted by the classification processor groups to decide whether the currently scanned document belongs to the current class or not. Its [classify](http://blinkinput.github.io/blinkinput-ios/Protocols/MBTemplatingClassifier.html) method simply returns `YES/true` or `NO/false`. If the classifier returns `NO/false`, recognition is moved to the next class in the chain, if it exists. You can find more about `MBTemplatingClassifier` in [this](#implementing-templating-classifier) section.
3. If the `MBTemplatingClassifier` has decided that currently scanned document belongs to the current class, non-classification `MBProcessorGroups` are run to extract other fields of interest.
-### The `MBProcessorGroup` component
+### The `MBProcessorGroup` component
In templating API [`MBProcessorGroup`](http://blinkinput.github.io/blinkinput-ios/Classes/MBProcessorGroup.html) is used to define the location of the field of interest on the detected document and how that location should be processed by setting following parameters in its constructor:
1. Location coordinates relative to document detection which are passed as [`Rectangle`] object.
-2. `MBDewarpPolicy` which determines the resulting image chunk for processing. You can find a description of each `MBDewarpPolicy`, its purpose and recommendations when it should be used to get the best results in [List of available dewarp policies](#dewarpPolicyList) section.
+2. `MBDewarpPolicy` which determines the resulting image chunk for processing. You can find a description of each `MBDewarpPolicy`, its purpose and recommendations when it should be used to get the best results in [List of available dewarp policies](#dewarp-policy-list) section.
-3. Collection of processors that will be executed on the prepared chunk of the image for current document location. You can find more information about processors in [The Processor concept](#processorConcept) section.
+3. Collection of processors that will be executed on the prepared chunk of the image for current document location. You can find more information about processors in [The Processor concept](#processor-concept) section.
-### List of available dewarp policies
+### List of available dewarp policies
Concrete `MBDewarpPolicy` defines how specific location of interest should be dewarped (cropped and rotated). It determines the height and width of the resulting dewarped image in pixels. Here is the list of available dewarp policies with linked doc for more information:
@@ -786,7 +829,7 @@ Concrete `MBDewarpPolicy` defines how specific location of interest should be de
- if the height of the resulting image is larger than maximal allowed, then the maximal allowed height will be used as actual height, which effectively scales down the image
- **usually the best policy for processors that use neural networks, for example, DEEP OCR, hologram detection or NN-based classification**
-### The `MBTemplatingClass` component
+### The `MBTemplatingClass` component
[`MBTemplatingClass`](http://blinkinput.github.io/blinkinput-ios/Classes/MBTemplatingClass.html) enables implementing support for a specific class of documents that should be scanned with templating API. Final implementation of the templating recognizer consists of one or more templating classes, one class for each version of the document.
@@ -798,13 +841,13 @@ The two collections of processor groups within `MBTemplatingClass` are:
2. The non-classification processor groups which are set by using the [`- (void)setNonClassificationProcessorGroups:(nonnull NSArray<__kindof MBProcessorGroup *> *)processorGroups`]method. `MBProcessorGroups` from this collection will be executed after classification if the classification has been positive.
-A component which decides whether the scanned document belongs to the current class is [`MBTemplatingClass`](http://blinkinput.github.io/blinkinput-ios/Classes/MBTemplatingClass.html). It can be set by using the `- (void)setTemplatingClassifier:(nullable id)templatingClassifier` method. If it is not set, non-classification processor groups will not be executed. Instructions for implementing the `MBTemplatingClassifier` are given in the [next section](#implementingTemplatingClassifier).
+A component which decides whether the scanned document belongs to the current class is [`MBTemplatingClass`](http://blinkinput.github.io/blinkinput-ios/Classes/MBTemplatingClass.html). It can be set by using the `- (void)setTemplatingClassifier:(nullable id)templatingClassifier` method. If it is not set, non-classification processor groups will not be executed. Instructions for implementing the `MBTemplatingClassifier` are given in the [next section](#implementing-templating-classifier).
-### Implementing the `MBTemplatingClassifier`
+### Implementing the `MBTemplatingClassifier`
Each concrete templating classifier implements the [`MBTemplatingClassifier`](http://blinkinput.github.io/blinkinput-ios/Protocols/MBTemplatingClassifier.html) interface, which requires to implement its `classify` method that is invoked while evaluating associated `MBTemplatingClass`.
-Classification decision should be made based on the processing result which is returned by one or more processing units contained in the collection of the classification processor groups. As described in [The ProcessorGroup component](#processorGroup) section, each processor group contains one or more `MBProcessors`. [There are different `MBProcessors`](#processorList) which may enclose smaller processing units, for example, [`MBParserGroupProcessor`](#parserGroupProcessor) maintains the group of [`MBParsers`](#parserConcept). Result from each of the processing units in that hierarchy can be used for classification. In most cases `MBParser` result is used to determine whether some data in the expected format exists on the specified location.
+Classification decision should be made based on the processing result which is returned by one or more processing units contained in the collection of the classification processor groups. As described in [The ProcessorGroup component](#processor-group) section, each processor group contains one or more `MBProcessors`. [There are different `MBProcessors`](#processor-list) which may enclose smaller processing units, for example, [`MBParserGroupProcessor`](#parser-group-processor) maintains the group of [`MBParsers`](#parser-concept). Result from each of the processing units in that hierarchy can be used for classification. In most cases `MBParser` result is used to determine whether some data in the expected format exists on the specified location.
To be able to retrieve results from the various processing units that are needed for classification, their instances must be available when `classify` method is called.
@@ -812,11 +855,11 @@ To be able to retrieve results from the various processing units that are needed
When recognition is done, results can be obtained through processing units instances, such as: `MBProcessors`, `MBParsers`, etc. which are used for configuring the `MBTemplatingRecognizer` and later for processing the input image.
-# The `MBDetector` concept
+# The `MBDetector` concept
-[`MBDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDetector.html) is a processing unit used within some `MBRecognizer` which supports detectors, such as [`MBDetectorRecognizer`](#detectorRecognizer). Concrete `MBDetector` knows how to find the certain object on the input image. `MBRecognizer` can use it to perform object detection prior to performing further recognition of detected object's contents.
+[`MBDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDetector.html) is a processing unit used within some `MBRecognizer` which supports detectors, such as [`MBDetectorRecognizer`](#detector-recognizer). Concrete `MBDetector` knows how to find the certain object on the input image. `MBRecognizer` can use it to perform object detection prior to performing further recognition of detected object's contents.
-`MBDetector` architecture is similar to `MBRecognizer` architecture described in [The Recognizer concept](#recognizerConcept) section. Each instance also has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBDetector` object and it is updated while `MBDetector` works. If you need your `MBRecognizerResult` object to outlive its parent `MBDetector` object, you must make a copy of it by calling its `copy` method.
+`MBDetector` architecture is similar to `MBRecognizer` architecture described in [The Recognizer concept](#recognizer-concept) section. Each instance also has associated inner `MBRecognizerResult` object whose lifetime is bound to the lifetime of its parent `MBDetector` object and it is updated while `MBDetector` works. If you need your `MBRecognizerResult` object to outlive its parent `MBDetector` object, you must make a copy of it by calling its `copy` method.
It also has its internal state and while it is in the *working state* during recognition process, it is not allowed to tweak `MBDetector` object's properties.
@@ -831,9 +874,9 @@ When detection is performed on the input image, each `MBDetector` in its associa
To support common use cases, there are several different `MBDetector` implementations available. They are listed in the next section.
-## List of available detectors
+## List of available detectors
-### Document Detector
+### Document Detector
[`MBDocumentDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDocumentDetector.html) is used to detect card documents, cheques, A4-sized documents, receipts and much more.
@@ -844,7 +887,7 @@ For the most commonly used document formats, there is a helper method `+ (insta
For the list of all available configuration methods see [`MBDocumentDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDocumentDetector.html) doc, and for available result content see [`MBDocumentDetectorResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBDocumentDetectorResult.html) doc.
-### MRTD Detector
+### MRTD Detector
[`MBMrtdDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBMrtdDetector.html) is used to perform detection of *Machine Readable Travel Documents (MRTD)*.
@@ -854,19 +897,97 @@ If `MBMrtdSpecifications` are not set, all supported MRTD formats will be detect
For the list of all available configuration methods see [`MBMrtdDetector`](http://blinkinput.github.io/blinkinput-ios/Classes/MBMrtdDetector.html) doc, and for available result content see [`MBMrtdDetectorResult`](http://blinkinput.github.io/blinkinput-ios/Classes/MBMrtdDetectorResult.html) doc.
-# Troubleshooting
+# Creating customized build of BlinkID SDK
+
+If your final app size is too large, you can create a customised build of _MicroBlink.framework_ and _MicroBlink.bundle_ which will contain only features and resources that you really need.
+
+In order to create customised build of BlinkID SDK, you first need to download the static distribution of BlinkID SDK. A valid production licence key is required in order to gain access to the download link of BlinkID SDK static distribution. Once you have a valid production licence key, please contact our [support team](http://help.microblink.com) and ask them to provide you with the download link. After they give you access to the static distribution of BlinkID SDK, you will be able to download it from you account at [MicroBlink Developer Dashboard](https://www.microblink.com/login).
+
+The static distribution of BlinkID SDK is a large zip file (several hundred megabytes) which contains static libraries of BlinkID SDK's native code, all assets and resources and a script which will create the customised build for you.
+
+### Prerequisites for creating customised build
+
+In order to create customised build of BlinkInput SDK, you will need following tools:
+
+- XCode and latest iOS SDK
+- CMake - you can install it from Homebrew with `brew install cmake`, or you can download it from [official page](https://cmake.org/download/)
+ - please note that command-line version of CMake is required, so if you have downloaded CMake from official page, make sure you install command-line support as well
+
+### Steps for creating customised build
+
+1. Obtain the static distribution of BlinkID SDK by [contacting us](http://help.microblink.com)
+2. Download the zip from link that you will be provided
+3. Unzip the file into an empty folder
+4. Edit the file `enabled-features.cmake`
+ - you should enable only features that you need to use by setting appropriate variables to `ON`.
+ - the list of all possible feature variables can be found in `features.cmake`
+ - for each `feature_option` command, first parameter defines the feature variable, and the second is the description of the feature, i.e. what it provides. Other parameters are information for script to work correctly.
+ - you should not edit any file except `enabled-features.cmake` (except if instructed so by our support team) to ensure creation of customised build works well
+5. Open terminal and navigate to folder with zip's contents.
+6. Execute command `./create-custom-build.sh` and select whether you want static or dynamic frameowk.
+ - when asked, enter `s` to build static framework or `d` to build dynamic framework
+7. After several minutes (depedending of CPU speed of your computer), customised build will appear in the `Release` folder. Use that bundle and framework in your app instead of default one.
+
+#### Warning:
+
+Attempt to use feature within your app which was not enabled in customised build will cause a linker error when linking against the customised framework.
+
+### Troubleshooting:
+
+#### Getting `unrecognized selector sent to instance` when using customised static framework, while everything works OK with dynamic framework
+
+This happens when your app has not been linked with `-ObjC` flag against static framework. The problem is related to using Objective C categories within static library which are thrown away by linker. You can see more information in [official Apple documentation](https://developer.apple.com/library/content/qa/qa1490/_index.html).
+
+#### App crashing when scanning starts with log message _Failed to load resource XX. The program will now crash._
+
+This means that a required resource was not packaged into final app. This usually indicates a bug in our script that makes the customised build. Please [contact us](http://help.microblink.com) and send your version of `enabled-features.cmake` and crash log.
+
+#### CMake error while running script.
+
+You probably have a typo in `enabled-features.cmake`. CMake is very sensitive language and will throw an non-understandable error if you have a typo or invoke any of its commands with wrong number of parameters.
+
+#### Linker error while running the script.
+
+This sometimes happens when XCode's link time optimizer runs out of memory. Usually running the script again solves the problem. Please reboot your Mac if this keeps happening.
+
+#### Keeping only `FEATURE_MRTD` creates rather large `MicroBlink.bundle`
+
+`FEATURE_MRTD` marks the _MRTD recognizer_. However, _MRTD recognizer_ can also be used in _Templating API_ mode where non-MRZ data can be scanned. To perform OCR of non-MRZ data, a rather large OCR model must be used, which supports all fonts. If you only plan to scan MRZ part of the document, you can edit the `features.cmake` in following way:
+
+- find the following line:
+
+```
+feature_resources( FEATURE_MRTD model_mrtd model_general_blink_ocr model_micr model_arabic )
+```
+
+- keep only `model_mrtd` in the list, i.e. modify the line so that it will be like this:
+
+```
+feature_resources( FEATURE_MRTD model_mrtd )
+```
+
+This will keep only support for reading MRZ zone in OCR - you will not be able to scan non-MRZ data with such configuration using _MRTD recognizer_, however you will reduce the `MicroBlink.bundle` and then final app size by more than 4MB.
+
+##### More information about OCR models in `FEATURE_MRTD`
+
+- `model_mrtd` is OCR model for performing OCR of MRZ zone
+- `model_arabic` is OCR model for performing OCR of digits used in arabic languages - text scanning is not supported
+- `model_micr` is OCR model for performing OCR of [Magnetic Ink Characters](https://en.wikipedia.org/wiki/Magnetic_ink_character_recognition)
+- `model_general_blink_ocr` is OCR model for performing general-purpose OCR. This model is usually required for performing OCR of non-MRZ text on documents.
+
+# Troubleshooting
-## Integration problems
+## Integration problems
-In case of problems with integration of the SDK, first make sure that you have tried integrating it into XCode by following [integration instructions](#quickStart).
+In case of problems with integration of the SDK, first make sure that you have tried integrating it into XCode by following [integration instructions](#quick-start).
-If you have followed [XCode integration instructions](#quickStart) and are still having integration problems, please contact us at [help.microblink.com](http://help.microblink.com).
+If you have followed [XCode integration instructions](#quick-start) and are still having integration problems, please contact us at [help.microblink.com](http://help.microblink.com).
-## SDK problems
+## SDK problems
In case of problems with using the SDK, you should do as follows:
-### Licencing problems
+### Licencing problems
If you are getting "invalid licence key" error or having other licence-related problems (e.g. some feature is not enabled that should be or there is a watermark on top of camera), first check the console. All licence-related problems are logged to error log so it is easy to determine what went wrong.
@@ -877,7 +998,7 @@ When you have determine what is the licence-relate problem or you simply do not
* please stress out that you are reporting problem related to iOS version of PDF417.mobi SDK
* if unsure about the problem, you should also provide excerpt from console containing licence error
-### Other problems
+### Other problems
If you are having problems with scanning certain items, undesired behaviour on specific device(s), crashes inside PDF417.mobi SDK or anything unmentioned, please do as follows:
@@ -887,27 +1008,27 @@ If you are having problems with scanning certain items, undesired behaviour on s
* information about device that you are using
* please stress out that you are reporting problem related to iOS version of PDF417.mobi SDK
-## Frequently asked questions and known problems
+## Frequently asked questions and known problems
Here is a list of frequently asked questions and solutions for them and also a list of known problems in the SDK and how to work around them.
-#### In demo everything worked, but after switching to production license I get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code as soon as I construct specific [`MBRecognizer`](http://pdf417.github.io/pdf417-ios/docs/Classes/MBRecognizer.html) object
+#### In demo everything worked, but after switching to production license I get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code as soon as I construct specific [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/docs/Classes/MBRecognizer.html) object
Each license key contains information about which features are allowed to use and which are not. This `NSError` indicates that your production license does not allow using of specific `MBRecognizer` object. You should contact [support](http://help.microblink.com) to check if provided licence is OK and that it really contains all features that you have purchased.
-#### I get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code with trial license key
+#### I get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code with trial license key
-Whenever you construct any [`MBRecognizer`](http://pdf417.github.io/pdf417-ios/docs/Classes/MBRecognizer.html) object or, a check whether license allows using that object will be performed. If license is not set prior constructing that object, you will get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code. We recommend setting license as early as possible in your app.
+Whenever you construct any [`MBRecognizer`](http://blinkinput.github.io/blinkinput-ios/docs/Classes/MBRecognizer.html) object or, a check whether license allows using that object will be performed. If license is not set prior constructing that object, you will get `NSError` with `MBMicroblinkSDKRecognizerErrorDomain` and `MBRecognizerFailedToInitalize` code. We recommend setting license as early as possible in your app.
-#### Undefined Symbols on Architecture armv7
+#### Undefined Symbols on Architecture armv7
-Make sure you link your app with iconv and Accelerate frameworks as shown in [Quick start](#quickStart).
+Make sure you link your app with iconv and Accelerate frameworks as shown in [Quick start](#quick-start).
If you are using Cocoapods, please be sure that you've installed `git-lfs` prior to installing pods. If you are still getting this error, go to project folder and execute command `git-lfs pull`.
-#### In my `didFinish` callback I have the result inside my `MBRecognizer`, but when scanning activity finishes, the result is gone
+#### In my `didFinish` callback I have the result inside my `MBRecognizer`, but when scanning activity finishes, the result is gone
-This usually happens when using [`MBRecognizerRunnerViewController`](http://pdf417.github.io/pdf417-ios/docs/Classes/MBRecognizerRunnerViewController.html) and forgetting to pause the [`MBRecognizerRunnerViewController`](http://pdf417.github.io/pdf417-ios/docs/Classes/MBRecognizerRunnerViewController.html) in your `didFinish` callback. Then, as soon as `didFinish` happens, the result is mutated or reset by additional processing that `MBRecognizer` performs in the time between end of your `didFinish` callback and actual finishing of the scanning activity. For more information about statefulness of the `MBRecognizer` objects, check [this section](#recognizerConcept).
+This usually happens when using [`MBRecognizerRunnerViewController`](http://blinkinput.github.io/blinkinput-ios/docs/Classes/MBRecognizerRunnerViewController.html) and forgetting to pause the [`MBRecognizerRunnerViewController`](http://blinkinput.github.io/blinkinput-ios/docs/Classes/MBRecognizerRunnerViewController.html) in your `didFinish` callback. Then, as soon as `didFinish` happens, the result is mutated or reset by additional processing that `MBRecognizer` performs in the time between end of your `didFinish` callback and actual finishing of the scanning activity. For more information about statefulness of the `MBRecognizer` objects, check [this section](#recognizer-concept).
-#### Unsupported architectures when submitting app to App Store
+#### Unsupported architectures when submitting app to App Store
Microblink.framework is a dynamic framework which contains slices for all architectures - device and simulator. If you intend to extract .ipa file for ad hoc distribution, you'll need to preprocess the framework to remove simulator architectures.
@@ -948,6 +1069,6 @@ done
# Additional info
-Complete API reference can be found [here](http://blinkinput.github.io/blinkinput-ios/docs/index.html).
+Complete API reference can be found [here](http://blinkinput.github.io/blinkinput-ios/index.html).
-For any other questions, feel free to contact us at [help.microblink.com](http://help.microblink.com).
+For any other questions, feel free to contact us at [help.microblink.com](http://help.microblink.com).
\ No newline at end of file
diff --git a/Release notes.md b/Release notes.md
index dfdaacc..92a3738 100644
--- a/Release notes.md
+++ b/Release notes.md
@@ -1,5 +1,34 @@
# Release notes
+## 4.1.0
+
+- Updates and addtitions
+ - updated overlay view controllers with new icons for close and torch buttons
+ - switched to using HTTPS in podspec for Cocoapods
+ - enabled capturing high resolution camera frames:
+ When custom UI integration is performed, use - `(void)captureHighResImage:(MBCaptureHighResImage)highResoulutionImageCaptured on MBRecognizerRunnerViewController`
+ When using provided scan overlay view controllers, high resolution full camera frames taken at the moment of successful scan are returned if this option is enabled through `MBOverlaySettings`.
+ - Added support for checking if scanning is unsupported for camera type on `MBRecognizerRunnerViewController`
+ - Added `reconfigureRecognizers` method to `MBBaseOverlayViewController`, enabling it on all it's subclasses
+
+- Minor API changes
+ - renamed MicroBlink.framework to Microblink.framework
+ - renamed MicroBlink.bundle to Microblink.bundle
+ - `isScanningUnsupportedForCameraType:` is now class method of `MBMicroblinkSDK`
+
+- Bugfixes
+ - templating recognizers no longer execute callbacks with valid state once they are valid on every frame even if nothing is 'detected'
+ - fixed a crash which happened when scanning region was set before overlay view controller loaded, but after it was initialized
+ - fixed missing init in `MBDotsResultSubview` for Swift
+ - fix memory issue while using current frame grabber
+ - updated overlay view controllers for iPhone X Series
+ - Fixed bug where SDK crashed with exception when the user wanted to use custom resource bundle
+ - Calling `reconfigureRecognizers` before showing camera now correctly applies supplied recognizers
+ - Fixed autorotation of overlays and `MBRecognizerRunnerViewController`
+ - Fixed localization issues with some overlays
+ - Fixed constraint errors on `MBDocumentVerificationOverlayViewController`
+ - Various other bug fixes and improvements
+
## 4.0.0
- new API, which is not backward compatible. Please check [README](README.md) and updated demo applications for more information, but the gist of it is:
@@ -315,4 +344,4 @@
- Initial documentation added
- Implemented Two sample apps
- One for simple integration showing how OcrRecognizer can easily be included in the app
- - One with custom UI for FormScanning with Price, IBAN and Reference number parsing
\ No newline at end of file
+ - One with custom UI for FormScanning with Price, IBAN and Reference number parsing
diff --git a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample.xcodeproj/project.pbxproj b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample.xcodeproj/project.pbxproj
index 4c6c3cd..9f55197 100644
--- a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample.xcodeproj/project.pbxproj
+++ b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample.xcodeproj/project.pbxproj
@@ -17,14 +17,14 @@
18CC81F71B697101000F6DA5 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18CC81F61B697101000F6DA5 /* CoreMedia.framework */; };
18CC81F91B697106000F6DA5 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18CC81F81B697106000F6DA5 /* AVFoundation.framework */; };
18CC81FD1B697133000F6DA5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18CC81FC1B697133000F6DA5 /* AudioToolbox.framework */; };
- 3159A58B1CF4805D00641A11 /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3159A5891CF4805D00641A11 /* MicroBlink.bundle */; };
3159A5C11CF4A5E900641A11 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3159A5C01CF4A5E900641A11 /* libc++.tbd */; };
3159A5C31CF4A5F100641A11 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3159A5C21CF4A5F100641A11 /* libiconv.tbd */; };
3159A5C51CF4A5F400641A11 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3159A5C41CF4A5F400641A11 /* Accelerate.framework */; };
- A2FE135D1F7503A600C6F1EA /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3159A58A1CF4805D00641A11 /* MicroBlink.framework */; };
- A2FE135E1F7503A600C6F1EA /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3159A58A1CF4805D00641A11 /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A2FE13611F7503C200C6F1EA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A2FE13601F7503C200C6F1EA /* libz.tbd */; };
B403EE7820F4D0EC00EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE7720F4D0EC00EE5235 /* license.txt */; };
+ B4CCA03322AE4BCD00C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA03122AE4BCD00C76715 /* Microblink.bundle */; };
+ B4CCA03422AE4BD500C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03022AE4BCD00C76715 /* Microblink.framework */; };
+ B4CCA03522AE4BD500C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03022AE4BCD00C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -34,7 +34,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- A2FE135E1F7503A600C6F1EA /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA03522AE4BD500C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -56,13 +56,13 @@
18CC81F61B697101000F6DA5 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
18CC81F81B697106000F6DA5 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
18CC81FC1B697133000F6DA5 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
- 3159A5891CF4805D00641A11 /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 3159A58A1CF4805D00641A11 /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
3159A5C01CF4A5E900641A11 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
3159A5C21CF4A5F100641A11 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
3159A5C41CF4A5F400641A11 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
A2FE13601F7503C200C6F1EA /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
B403EE7720F4D0EC00EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA03022AE4BCD00C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
+ B4CCA03122AE4BCD00C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -72,9 +72,9 @@
files = (
A2FE13611F7503C200C6F1EA /* libz.tbd in Frameworks */,
3159A5C31CF4A5F100641A11 /* libiconv.tbd in Frameworks */,
+ B4CCA03422AE4BD500C76715 /* Microblink.framework in Frameworks */,
3159A5C11CF4A5E900641A11 /* libc++.tbd in Frameworks */,
3159A5C51CF4A5F400641A11 /* Accelerate.framework in Frameworks */,
- A2FE135D1F7503A600C6F1EA /* MicroBlink.framework in Frameworks */,
18CC81FD1B697133000F6DA5 /* AudioToolbox.framework in Frameworks */,
18CC81F91B697106000F6DA5 /* AVFoundation.framework in Frameworks */,
18CC81F71B697101000F6DA5 /* CoreMedia.framework in Frameworks */,
@@ -133,9 +133,9 @@
A2FE13601F7503C200C6F1EA /* libz.tbd */,
3159A5C21CF4A5F100641A11 /* libiconv.tbd */,
3159A5C01CF4A5E900641A11 /* libc++.tbd */,
- 3159A5891CF4805D00641A11 /* MicroBlink.bundle */,
+ B4CCA03122AE4BCD00C76715 /* Microblink.bundle */,
+ B4CCA03022AE4BCD00C76715 /* Microblink.framework */,
3159A5C41CF4A5F400641A11 /* Accelerate.framework */,
- 3159A58A1CF4805D00641A11 /* MicroBlink.framework */,
18CC81FC1B697133000F6DA5 /* AudioToolbox.framework */,
18CC81F81B697106000F6DA5 /* AVFoundation.framework */,
18CC81F61B697101000F6DA5 /* CoreMedia.framework */,
@@ -192,6 +192,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
Base,
);
@@ -210,12 +211,12 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 3159A58B1CF4805D00641A11 /* MicroBlink.bundle in Resources */,
187392121AA4B1070031D6C9 /* Main.storyboard in Resources */,
B403EE7820F4D0EC00EE5235 /* license.txt in Resources */,
187392171AA4B1070031D6C9 /* LaunchScreen.xib in Resources */,
186226B71AB1B0A6002D71E5 /* en.strings in Resources */,
187392141AA4B1070031D6C9 /* Images.xcassets in Resources */,
+ B4CCA03322AE4BCD00C76715 /* Microblink.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/license.txt b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/license.txt and b/Samples/BlinkInput-sample-ObjC/BlinkInput-sample/License/license.txt differ
diff --git a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift.xcodeproj/project.pbxproj b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift.xcodeproj/project.pbxproj
index c9778eb..d8467db 100755
--- a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift.xcodeproj/project.pbxproj
+++ b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958DC20AD8E8700F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958DA20AD8E8700F27C8D /* MicroBlink.bundle */; };
- 184958DD20AD8E8700F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958DB20AD8E8700F27C8D /* MicroBlink.framework */; };
- 184958E820AD908400F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958DB20AD8E8700F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
310E459A1C20612300B546BD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310E45991C20612300B546BD /* AppDelegate.swift */; };
310E459F1C20612300B546BD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 310E459D1C20612300B546BD /* Main.storyboard */; };
310E45A11C20612300B546BD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 310E45A01C20612300B546BD /* Assets.xcassets */; };
@@ -24,6 +21,9 @@
31BF2FD41D95498C008816F3 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31BF2FD31D95498C008816F3 /* ViewController.swift */; };
A2FE137A1F75097F00C6F1EA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A2FE13791F75097F00C6F1EA /* libz.tbd */; };
B403EE7B20F4D17A00EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE7A20F4D17A00EE5235 /* license.txt */; };
+ B4CCA03922AE4C9300C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA03722AE4C9300C76715 /* Microblink.bundle */; };
+ B4CCA03A22AE4C9900C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03622AE4C9300C76715 /* Microblink.framework */; };
+ B4CCA03B22AE4C9900C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03622AE4C9300C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -33,7 +33,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958E820AD908400F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA03B22AE4C9900C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -41,8 +41,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958DA20AD8E8700F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958DB20AD8E8700F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
310E45961C20612300B546BD /* BlinkInput-sample-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BlinkInput-sample-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
310E45991C20612300B546BD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
310E459E1C20612300B546BD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
@@ -59,6 +57,8 @@
31BF2FD31D95498C008816F3 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
A2FE13791F75097F00C6F1EA /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
B403EE7A20F4D17A00EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA03622AE4C9300C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
+ B4CCA03722AE4C9300C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -69,7 +69,7 @@
A2FE137A1F75097F00C6F1EA /* libz.tbd in Frameworks */,
310E45E61C206DF600B546BD /* libc++.tbd in Frameworks */,
310E45E41C206DF100B546BD /* libiconv.tbd in Frameworks */,
- 184958DD20AD8E8700F27C8D /* MicroBlink.framework in Frameworks */,
+ B4CCA03A22AE4C9900C76715 /* Microblink.framework in Frameworks */,
3139C9371C32AE72005AC32C /* MobileCoreServices.framework in Frameworks */,
310E45E21C206DEB00B546BD /* CoreMedia.framework in Frameworks */,
310E45E01C206DC100B546BD /* AudioToolbox.framework in Frameworks */,
@@ -115,8 +115,8 @@
310E45AB1C2063F300B546BD /* Frameworks */ = {
isa = PBXGroup;
children = (
- 184958DA20AD8E8700F27C8D /* MicroBlink.bundle */,
- 184958DB20AD8E8700F27C8D /* MicroBlink.framework */,
+ B4CCA03722AE4C9300C76715 /* Microblink.bundle */,
+ B4CCA03622AE4C9300C76715 /* Microblink.framework */,
3139C9361C32AE72005AC32C /* MobileCoreServices.framework */,
310E45E11C206DEB00B546BD /* CoreMedia.framework */,
310E45DF1C206DC100B546BD /* AudioToolbox.framework */,
@@ -171,7 +171,7 @@
310E45951C20612300B546BD = {
CreatedOnToolsVersion = 7.2;
DevelopmentTeam = CQTJWP89J7;
- LastSwiftMigration = 0900;
+ LastSwiftMigration = 1020;
};
};
};
@@ -180,6 +180,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
Base,
);
@@ -198,10 +199,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958DC20AD8E8700F27C8D /* MicroBlink.bundle in Resources */,
310E45A41C20612300B546BD /* LaunchScreen.storyboard in Resources */,
310E45A11C20612300B546BD /* Assets.xcassets in Resources */,
B403EE7B20F4D17A00EE5235 /* license.txt in Resources */,
+ B4CCA03922AE4C9300C76715 /* Microblink.bundle in Resources */,
310E459F1C20612300B546BD /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -358,8 +359,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -375,8 +375,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
diff --git a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
index e7ba38a..76a4086 100755
--- a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
+++ b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/AppDelegate.swift
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Valid until: 2019-07-10
diff --git a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/license.txt b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/license.txt and b/Samples/BlinkInput-sample-Swift/BlinkInput-sample-Swift/License/license.txt differ
diff --git a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift.xcodeproj/project.pbxproj b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift.xcodeproj/project.pbxproj
index fb1a8bc..659a894 100644
--- a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift.xcodeproj/project.pbxproj
+++ b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958E020AD8EBC00F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958DE20AD8EBC00F27C8D /* MicroBlink.bundle */; };
- 184958E120AD8EBC00F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958DF20AD8EBC00F27C8D /* MicroBlink.framework */; };
- 184958E220AD8EFF00F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958DF20AD8EBC00F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A24E097A207B6348000AF21B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E0979207B6348000AF21B /* AppDelegate.swift */; };
A24E097C207B6348000AF21B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E097B207B6348000AF21B /* ViewController.swift */; };
A24E097F207B6348000AF21B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A24E097D207B6348000AF21B /* Main.storyboard */; };
@@ -25,6 +22,9 @@
A24E099B207B63D4000AF21B /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A24E099A207B63D4000AF21B /* libiconv.tbd */; };
A24E09A4207B662F000AF21B /* CustomOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E09A3207B662F000AF21B /* CustomOverlay.swift */; };
B403EE7E20F4D1DD00EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE7D20F4D1DD00EE5235 /* license.txt */; };
+ B4CCA03E22AE4D9600C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA03C22AE4D9600C76715 /* Microblink.bundle */; };
+ B4CCA04022AE4D9C00C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03D22AE4D9600C76715 /* Microblink.framework */; };
+ B4CCA04122AE4D9C00C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA03D22AE4D9600C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -34,7 +34,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958E220AD8EFF00F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA04122AE4D9C00C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -42,8 +42,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958DE20AD8EBC00F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958DF20AD8EBC00F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
A24E0976207B6348000AF21B /* DeepOCR-sample-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeepOCR-sample-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
A24E0979207B6348000AF21B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
A24E097B207B6348000AF21B /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
@@ -61,6 +59,8 @@
A24E099A207B63D4000AF21B /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
A24E09A3207B662F000AF21B /* CustomOverlay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomOverlay.swift; sourceTree = ""; };
B403EE7D20F4D1DD00EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA03C22AE4D9600C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
+ B4CCA03D22AE4D9600C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -71,7 +71,7 @@
A24E099B207B63D4000AF21B /* libiconv.tbd in Frameworks */,
A24E0999207B63CC000AF21B /* libc++.tbd in Frameworks */,
A24E0997207B63BC000AF21B /* libz.tbd in Frameworks */,
- 184958E120AD8EBC00F27C8D /* MicroBlink.framework in Frameworks */,
+ B4CCA04022AE4D9C00C76715 /* Microblink.framework in Frameworks */,
A24E0995207B6380000AF21B /* MobileCoreServices.framework in Frameworks */,
A24E0993207B6379000AF21B /* CoreMedia.framework in Frameworks */,
A24E0991207B6374000AF21B /* AudioToolbox.framework in Frameworks */,
@@ -118,8 +118,8 @@
A24E098B207B6364000AF21B /* Frameworks */ = {
isa = PBXGroup;
children = (
- 184958DE20AD8EBC00F27C8D /* MicroBlink.bundle */,
- 184958DF20AD8EBC00F27C8D /* MicroBlink.framework */,
+ B4CCA03C22AE4D9600C76715 /* Microblink.bundle */,
+ B4CCA03D22AE4D9600C76715 /* Microblink.framework */,
A24E0994207B6380000AF21B /* MobileCoreServices.framework */,
A24E0992207B6379000AF21B /* CoreMedia.framework */,
A24E0990207B6374000AF21B /* AudioToolbox.framework */,
@@ -173,6 +173,7 @@
TargetAttributes = {
A24E0975207B6348000AF21B = {
CreatedOnToolsVersion = 9.3;
+ LastSwiftMigration = 1020;
};
};
};
@@ -200,9 +201,9 @@
buildActionMask = 2147483647;
files = (
B403EE7E20F4D1DD00EE5235 /* license.txt in Resources */,
- 184958E020AD8EBC00F27C8D /* MicroBlink.bundle in Resources */,
A24E0984207B634A000AF21B /* LaunchScreen.storyboard in Resources */,
A24E0981207B634A000AF21B /* Assets.xcassets in Resources */,
+ B4CCA03E22AE4D9600C76715 /* Microblink.bundle in Resources */,
A24E097F207B6348000AF21B /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -371,7 +372,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
@@ -391,7 +392,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
diff --git a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/AppDelegate.swift b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/AppDelegate.swift
index c14016e..23a999e 100644
--- a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/AppDelegate.swift
+++ b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/AppDelegate.swift
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Valid until: 2019-07-10
diff --git a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/License/license.txt b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/License/license.txt and b/Samples/DeepOCR-sample-Swift/DeepOCR-sample-Swift/License/license.txt differ
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift.xcodeproj/project.pbxproj b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift.xcodeproj/project.pbxproj
index 43178c3..cfab86e 100644
--- a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift.xcodeproj/project.pbxproj
+++ b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958E520AD8F4800F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958E320AD8F4800F27C8D /* MicroBlink.bundle */; };
- 184958E620AD8F4800F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958E420AD8F4800F27C8D /* MicroBlink.framework */; };
- 184958E720AD8F5600F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958E420AD8F4800F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A207A4A320A485DF002AEDB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A4A220A485DF002AEDB0 /* AppDelegate.swift */; };
A207A4A520A485DF002AEDB0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A4A420A485DF002AEDB0 /* ViewController.swift */; };
A207A4A820A485DF002AEDB0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A207A4A620A485DF002AEDB0 /* Main.storyboard */; };
@@ -24,6 +21,9 @@
A207A4C220A4863E002AEDB0 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A207A4C120A4863E002AEDB0 /* libz.tbd */; };
A207A4CF20A49237002AEDB0 /* MBCameraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A4CE20A49237002AEDB0 /* MBCameraViewController.swift */; };
B403EE8120F4D2B700EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE8020F4D2B700EE5235 /* license.txt */; };
+ B4CCA04522AE4DFB00C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA04322AE4DFB00C76715 /* Microblink.bundle */; };
+ B4CCA04622AE4E0000C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04222AE4DFB00C76715 /* Microblink.framework */; };
+ B4CCA04722AE4E0000C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04222AE4DFB00C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -33,7 +33,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958E720AD8F5600F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA04722AE4E0000C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -41,8 +41,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958E320AD8F4800F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958E420AD8F4800F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
A207A49F20A485DF002AEDB0 /* DirectAPI-sample-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DirectAPI-sample-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
A207A4A220A485DF002AEDB0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
A207A4A420A485DF002AEDB0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
@@ -59,6 +57,8 @@
A207A4C120A4863E002AEDB0 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
A207A4CE20A49237002AEDB0 /* MBCameraViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MBCameraViewController.swift; sourceTree = ""; };
B403EE8020F4D2B700EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA04222AE4DFB00C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
+ B4CCA04322AE4DFB00C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -66,9 +66,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958E620AD8F4800F27C8D /* MicroBlink.framework in Frameworks */,
A207A4BC20A4861D002AEDB0 /* CoreMedia.framework in Frameworks */,
A207A4BA20A48616002AEDB0 /* AudioToolbox.framework in Frameworks */,
+ B4CCA04622AE4E0000C76715 /* Microblink.framework in Frameworks */,
A207A4B820A4860F002AEDB0 /* AVFoundation.framework in Frameworks */,
A207A4B620A4860A002AEDB0 /* Accelerate.framework in Frameworks */,
A207A4C220A4863E002AEDB0 /* libz.tbd in Frameworks */,
@@ -115,8 +115,8 @@
A207A4B420A4860A002AEDB0 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 184958E320AD8F4800F27C8D /* MicroBlink.bundle */,
- 184958E420AD8F4800F27C8D /* MicroBlink.framework */,
+ B4CCA04322AE4DFB00C76715 /* Microblink.bundle */,
+ B4CCA04222AE4DFB00C76715 /* Microblink.framework */,
A207A4BB20A4861C002AEDB0 /* CoreMedia.framework */,
A207A4B920A48616002AEDB0 /* AudioToolbox.framework */,
A207A4B720A4860F002AEDB0 /* AVFoundation.framework */,
@@ -169,6 +169,7 @@
TargetAttributes = {
A207A49E20A485DF002AEDB0 = {
CreatedOnToolsVersion = 9.3;
+ LastSwiftMigration = 1020;
};
};
};
@@ -195,10 +196,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958E520AD8F4800F27C8D /* MicroBlink.bundle in Resources */,
B403EE8120F4D2B700EE5235 /* license.txt in Resources */,
A207A4AD20A485E0002AEDB0 /* LaunchScreen.storyboard in Resources */,
A207A4AA20A485E0002AEDB0 /* Assets.xcassets in Resources */,
+ B4CCA04522AE4DFB00C76715 /* Microblink.bundle in Resources */,
A207A4A820A485DF002AEDB0 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -366,7 +367,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -385,7 +386,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
index 5fefeef..9659370 100644
--- a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
+++ b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/AppDelegate.swift
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Valid until: 2019-07-10
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/license.txt b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/license.txt and b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/License/license.txt differ
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/MBCameraViewController.swift b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/MBCameraViewController.swift
index 6dcda21..8e2adc4 100644
--- a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/MBCameraViewController.swift
+++ b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/MBCameraViewController.swift
@@ -56,10 +56,10 @@ class MBCameraViewController: UIViewController, AVCaptureAudioDataOutputSampleBu
}
func addNotificationObserver() {
- NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.appplicationWillResignActive(_:)), name: .UIApplicationWillResignActive, object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.appplicationWillEnterForeground(_:)), name: .UIApplicationWillEnterForeground, object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.applicationDidEnterBackgroundNotification(_:)), name: .UIApplicationDidEnterBackground, object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.applicationWillTerminateNotification(_:)), name: .UIApplicationWillTerminate, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.appplicationWillResignActive(_:)), name: UIApplication.willResignActiveNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.appplicationWillEnterForeground(_:)), name: UIApplication.willEnterForegroundNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.applicationDidEnterBackgroundNotification(_:)), name: UIApplication.didEnterBackgroundNotification, object: nil)
+ NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.applicationWillTerminateNotification(_:)), name: UIApplication.willTerminateNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.captureSessionDidStartRunning(_:)), name: .AVCaptureSessionDidStartRunning, object: nil)
NotificationCenter.default.addObserver(self, selector :#selector(MBCameraViewController.captureSessionDidStopRunning(_:)), name: .AVCaptureSessionDidStopRunning, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MBCameraViewController.captureSessionRuntimeErrorNotification(_:)), name: .AVCaptureSessionRuntimeError, object: nil)
@@ -188,7 +188,7 @@ class MBCameraViewController: UIViewController, AVCaptureAudioDataOutputSampleBu
DispatchQueue.main.async(execute: {() -> Void in
let title = "PDF417"
// Save the string representation of the code
- let message = self.pdf417Recognizer?.result.stringData()
+ let message = self.pdf417Recognizer?.result.stringData
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default, handler: {(_ action: UIAlertAction) -> Void in
self.dismiss(animated: true) {() -> Void in }
diff --git a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/ViewController.swift b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/ViewController.swift
index 04068d3..24a5004 100644
--- a/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/ViewController.swift
+++ b/Samples/DirectAPI-sample-Swift/DirectAPI-sample-Swift/ViewController.swift
@@ -42,16 +42,17 @@ class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavig
}
- func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
- let mediaType = info[UIImagePickerControllerMediaType] as? String
- // Handle a still image capture
- if CFStringCompare(mediaType as CFString?, kUTTypeImage, CFStringCompareFlags(rawValue: 0)) == .compareEqualTo {
- let originalImage = info[UIImagePickerControllerOriginalImage] as? UIImage
+ func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
+ let mediaType = info[UIImagePickerController.InfoKey.mediaType] as? String
+
+ if CFStringCompare(mediaType as CFString?, kUTTypeImage, CFStringCompareFlags(rawValue: 9)) == .compareEqualTo {
+ let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
processImageRunner(originalImage)
}
- picker.dismiss(animated: true) {() -> Void in }
+
+ picker.dismiss(animated: true, completion: nil)
}
-
+
func setupRecognizerRunner() {
var recognizers = [MBRecognizer]()
pdf417Recognizer = MBPdf417Recognizer()
@@ -78,7 +79,7 @@ class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavig
DispatchQueue.main.async(execute: {() -> Void in
let title = "PDF417"
// Save the string representation of the code
- let message = self.pdf417Recognizer?.result.stringData()
+ let message = self.pdf417Recognizer?.result.stringData
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default, handler: {(_ action: UIAlertAction) -> Void in
self.dismiss(animated: true) {() -> Void in }
@@ -88,4 +89,3 @@ class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavig
})
}
}
-
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift.xcodeproj/project.pbxproj b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift.xcodeproj/project.pbxproj
index dac73ad..707b5e0 100644
--- a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift.xcodeproj/project.pbxproj
+++ b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958D820AD8E4700F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958D620AD8E4600F27C8D /* MicroBlink.bundle */; };
- 184958D920AD8E4700F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958D720AD8E4700F27C8D /* MicroBlink.framework */; };
- 184958E920AD90B900F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958D720AD8E4700F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A207A42F20A44199002AEDB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A42E20A44199002AEDB0 /* AppDelegate.swift */; };
A207A43120A44199002AEDB0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A43020A44199002AEDB0 /* ViewController.swift */; };
A207A43420A44199002AEDB0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A207A43220A44199002AEDB0 /* Main.storyboard */; };
@@ -25,6 +22,9 @@
A207A45020A44211002AEDB0 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A207A44F20A44211002AEDB0 /* libz.tbd */; };
A207A45B20A4467B002AEDB0 /* MBGenericPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A45A20A4467B002AEDB0 /* MBGenericPreset.swift */; };
B403EE8420F4D38400EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE8320F4D38400EE5235 /* license.txt */; };
+ B4CCA04A22AE4EA700C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA04822AE4EA700C76715 /* Microblink.bundle */; };
+ B4CCA04C22AE4EAD00C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04922AE4EA700C76715 /* Microblink.framework */; };
+ B4CCA04D22AE4EAD00C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04922AE4EA700C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -34,7 +34,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958E920AD90B900F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA04D22AE4EAD00C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -42,8 +42,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958D620AD8E4600F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958D720AD8E4700F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
A207A42B20A44199002AEDB0 /* FieldByField-sample-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "FieldByField-sample-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
A207A42E20A44199002AEDB0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
A207A43020A44199002AEDB0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
@@ -61,6 +59,8 @@
A207A44F20A44211002AEDB0 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
A207A45A20A4467B002AEDB0 /* MBGenericPreset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MBGenericPreset.swift; sourceTree = ""; };
B403EE8320F4D38400EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA04822AE4EA700C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
+ B4CCA04922AE4EA700C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -71,7 +71,7 @@
A207A45020A44211002AEDB0 /* libz.tbd in Frameworks */,
A207A44E20A44207002AEDB0 /* libc++.tbd in Frameworks */,
A207A44C20A441F9002AEDB0 /* libiconv.tbd in Frameworks */,
- 184958D920AD8E4700F27C8D /* MicroBlink.framework in Frameworks */,
+ B4CCA04C22AE4EAD00C76715 /* Microblink.framework in Frameworks */,
A207A44A20A441E5002AEDB0 /* MobileCoreServices.framework in Frameworks */,
A207A44820A441D7002AEDB0 /* CoreMedia.framework in Frameworks */,
A207A44620A441D1002AEDB0 /* AudioToolbox.framework in Frameworks */,
@@ -118,8 +118,8 @@
A207A44020A441BE002AEDB0 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 184958D620AD8E4600F27C8D /* MicroBlink.bundle */,
- 184958D720AD8E4700F27C8D /* MicroBlink.framework */,
+ B4CCA04822AE4EA700C76715 /* Microblink.bundle */,
+ B4CCA04922AE4EA700C76715 /* Microblink.framework */,
A207A44920A441E5002AEDB0 /* MobileCoreServices.framework */,
A207A44720A441D7002AEDB0 /* CoreMedia.framework */,
A207A44520A441D1002AEDB0 /* AudioToolbox.framework */,
@@ -173,6 +173,7 @@
TargetAttributes = {
A207A42A20A44199002AEDB0 = {
CreatedOnToolsVersion = 9.3;
+ LastSwiftMigration = 1020;
};
};
};
@@ -199,10 +200,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958D820AD8E4700F27C8D /* MicroBlink.bundle in Resources */,
A207A43920A4419A002AEDB0 /* LaunchScreen.storyboard in Resources */,
A207A43620A4419A002AEDB0 /* Assets.xcassets in Resources */,
A207A43420A44199002AEDB0 /* Main.storyboard in Resources */,
+ B4CCA04A22AE4EA700C76715 /* Microblink.bundle in Resources */,
B403EE8420F4D38400EE5235 /* license.txt in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -370,7 +371,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -389,7 +390,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
index 33a0647..68fc8fc 100644
--- a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
+++ b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/AppDelegate.swift
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Valid until: 2019-07-10
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/license.txt b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/license.txt and b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/License/license.txt differ
diff --git a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/ViewController.swift b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/ViewController.swift
index 38a21c8..7b71085 100644
--- a/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/ViewController.swift
+++ b/Samples/FieldByField-sample-Swift/FieldByField-sample-Swift/ViewController.swift
@@ -55,7 +55,7 @@ extension ViewController : MBFieldByFieldOverlayViewControllerDelegate {
description += "\(key): \(value)\n"
}
- let alert = UIAlertController(title: "Field by field Result", message: "\(description)", preferredStyle: UIAlertControllerStyle.alert)
+ let alert = UIAlertController(title: "Field by field Result", message: "\(description)", preferredStyle: UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
self.dismiss(animated: true, completion: nil)
}))
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift.xcodeproj/project.pbxproj b/Samples/Templating-sample-swift/Templating-sample-swift.xcodeproj/project.pbxproj
index 45a7b26..0abb234 100644
--- a/Samples/Templating-sample-swift/Templating-sample-swift.xcodeproj/project.pbxproj
+++ b/Samples/Templating-sample-swift/Templating-sample-swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958F120AD917500F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958EF20AD917500F27C8D /* MicroBlink.bundle */; };
- 184958F220AD917500F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958F020AD917500F27C8D /* MicroBlink.framework */; };
- 184958F320AD917800F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958F020AD917500F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A207A46920A45C7A002AEDB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A46820A45C7A002AEDB0 /* AppDelegate.swift */; };
A207A46B20A45C7A002AEDB0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A46A20A45C7A002AEDB0 /* ViewController.swift */; };
A207A46E20A45C7A002AEDB0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A207A46C20A45C7A002AEDB0 /* Main.storyboard */; };
@@ -25,6 +22,9 @@
A207A49320A45E16002AEDB0 /* MBCroatianIDTemplateUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A49220A45E16002AEDB0 /* MBCroatianIDTemplateUtils.swift */; };
A207A49520A47A67002AEDB0 /* MBCroatianIDFrontTemplateRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A207A49420A47A67002AEDB0 /* MBCroatianIDFrontTemplateRecognizer.swift */; };
B403EE8A20F4D4EC00EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE8920F4D4EC00EE5235 /* license.txt */; };
+ B4CCA05722AE4F5800C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA05522AE4F5800C76715 /* Microblink.bundle */; };
+ B4CCA05822AE4F5D00C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA05422AE4F5800C76715 /* Microblink.framework */; };
+ B4CCA05922AE4F5D00C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA05422AE4F5800C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -34,7 +34,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958F320AD917800F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA05922AE4F5D00C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -42,8 +42,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958EF20AD917500F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958F020AD917500F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
A207A46520A45C7A002AEDB0 /* Templating-sample-swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Templating-sample-swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
A207A46820A45C7A002AEDB0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
A207A46A20A45C7A002AEDB0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
@@ -61,6 +59,8 @@
A207A49220A45E16002AEDB0 /* MBCroatianIDTemplateUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MBCroatianIDTemplateUtils.swift; sourceTree = ""; };
A207A49420A47A67002AEDB0 /* MBCroatianIDFrontTemplateRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MBCroatianIDFrontTemplateRecognizer.swift; sourceTree = ""; };
B403EE8920F4D4EC00EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA05422AE4F5800C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
+ B4CCA05522AE4F5800C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -70,12 +70,12 @@
files = (
A207A48820A45D32002AEDB0 /* libz.tbd in Frameworks */,
A207A48620A45D2C002AEDB0 /* libiconv.tbd in Frameworks */,
- 184958F220AD917500F27C8D /* MicroBlink.framework in Frameworks */,
A207A48420A45D26002AEDB0 /* libc++.tbd in Frameworks */,
A207A48220A45D1D002AEDB0 /* AudioToolbox.framework in Frameworks */,
A207A48020A45D17002AEDB0 /* Accelerate.framework in Frameworks */,
A207A47E20A45D0B002AEDB0 /* CoreMedia.framework in Frameworks */,
A207A47C20A45D06002AEDB0 /* AVFoundation.framework in Frameworks */,
+ B4CCA05822AE4F5D00C76715 /* Microblink.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -121,8 +121,8 @@
A207A48720A45D32002AEDB0 /* libz.tbd */,
A207A48520A45D2C002AEDB0 /* libiconv.tbd */,
A207A48320A45D26002AEDB0 /* libc++.tbd */,
- 184958EF20AD917500F27C8D /* MicroBlink.bundle */,
- 184958F020AD917500F27C8D /* MicroBlink.framework */,
+ B4CCA05522AE4F5800C76715 /* Microblink.bundle */,
+ B4CCA05422AE4F5800C76715 /* Microblink.framework */,
A207A48120A45D1D002AEDB0 /* AudioToolbox.framework */,
A207A47F20A45D17002AEDB0 /* Accelerate.framework */,
A207A47D20A45D0B002AEDB0 /* CoreMedia.framework */,
@@ -172,6 +172,7 @@
TargetAttributes = {
A207A46420A45C7A002AEDB0 = {
CreatedOnToolsVersion = 9.3;
+ LastSwiftMigration = 1020;
};
};
};
@@ -198,10 +199,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958F120AD917500F27C8D /* MicroBlink.bundle in Resources */,
B403EE8A20F4D4EC00EE5235 /* license.txt in Resources */,
A207A47320A45C7C002AEDB0 /* LaunchScreen.storyboard in Resources */,
A207A47020A45C7C002AEDB0 /* Assets.xcassets in Resources */,
+ B4CCA05722AE4F5800C76715 /* Microblink.bundle in Resources */,
A207A46E20A45C7A002AEDB0 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -371,7 +372,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -391,7 +392,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift b/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
index 459ec08..00435c3 100644
--- a/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
+++ b/Samples/Templating-sample-swift/Templating-sample-swift/AppDelegate.swift
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Valid until: 2019-07-10
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift/License/license.txt b/Samples/Templating-sample-swift/Templating-sample-swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/Templating-sample-swift/Templating-sample-swift/License/license.txt and b/Samples/Templating-sample-swift/Templating-sample-swift/License/license.txt differ
diff --git a/Samples/Templating-sample-swift/Templating-sample-swift/MBCroatianIDFrontTemplateRecognizer.swift b/Samples/Templating-sample-swift/Templating-sample-swift/MBCroatianIDFrontTemplateRecognizer.swift
index 8cd3556..90b940f 100644
--- a/Samples/Templating-sample-swift/Templating-sample-swift/MBCroatianIDFrontTemplateRecognizer.swift
+++ b/Samples/Templating-sample-swift/Templating-sample-swift/MBCroatianIDFrontTemplateRecognizer.swift
@@ -132,7 +132,6 @@ class MBCroatianIDFrontTemplateRecognizer : NSObject {
citizenshipParser?.endWithWhitespace = true
citizenshipParser?.startWithWhitespace = true
oldDocumentNumberParser = MBRegexParser(regex: "\\d{9}")
- oldDocumentNumberParser?.ocrEngineOptions.minimalLineHeight = 35
neDocumentNumberParser = oldDocumentNumberParser?.copy() as? MBRegexParser
dateOfBirthParser = MBDateParser()
diff --git a/Samples/pdf417-sample-Swift/pdf417-sample-Swift.xcodeproj/project.pbxproj b/Samples/pdf417-sample-Swift/pdf417-sample-Swift.xcodeproj/project.pbxproj
index f6670a2..79cede9 100755
--- a/Samples/pdf417-sample-Swift/pdf417-sample-Swift.xcodeproj/project.pbxproj
+++ b/Samples/pdf417-sample-Swift/pdf417-sample-Swift.xcodeproj/project.pbxproj
@@ -7,9 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
- 184958EC20AD90F000F27C8D /* MicroBlink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 184958EA20AD90F000F27C8D /* MicroBlink.bundle */; };
- 184958ED20AD90F000F27C8D /* MicroBlink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 184958EB20AD90F000F27C8D /* MicroBlink.framework */; };
- 184958EE20AD912100F27C8D /* MicroBlink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 184958EB20AD90F000F27C8D /* MicroBlink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3139C81B1C22B2AC005AC32C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3139C81A1C22B2AC005AC32C /* AppDelegate.swift */; };
3139C81D1C22B2AC005AC32C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3139C81C1C22B2AC005AC32C /* ViewController.swift */; };
3139C8201C22B2AC005AC32C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3139C81E1C22B2AC005AC32C /* Main.storyboard */; };
@@ -24,6 +21,9 @@
A288D47B2073B5F20042A45F /* CustomOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = A288D47A2073B5F20042A45F /* CustomOverlay.swift */; };
A2FE137F1F75106F00C6F1EA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A2FE137E1F75106F00C6F1EA /* libz.tbd */; };
B403EE8720F4D48200EE5235 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = B403EE8620F4D48200EE5235 /* license.txt */; };
+ B4CCA05022AE4EEA00C76715 /* Microblink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B4CCA04E22AE4EEA00C76715 /* Microblink.bundle */; };
+ B4CCA05222AE4EEE00C76715 /* Microblink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04F22AE4EEA00C76715 /* Microblink.framework */; };
+ B4CCA05322AE4EEE00C76715 /* Microblink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B4CCA04F22AE4EEA00C76715 /* Microblink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -33,7 +33,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 184958EE20AD912100F27C8D /* MicroBlink.framework in Embed Frameworks */,
+ B4CCA05322AE4EEE00C76715 /* Microblink.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -41,8 +41,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 184958EA20AD90F000F27C8D /* MicroBlink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = MicroBlink.bundle; path = ../../MicroBlink.bundle; sourceTree = ""; };
- 184958EB20AD90F000F27C8D /* MicroBlink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MicroBlink.framework; path = ../../MicroBlink.framework; sourceTree = ""; };
3139C8171C22B2AC005AC32C /* pdf417-sample-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "pdf417-sample-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
3139C81A1C22B2AC005AC32C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
3139C81C1C22B2AC005AC32C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
@@ -59,6 +57,8 @@
A288D47A2073B5F20042A45F /* CustomOverlay.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomOverlay.swift; sourceTree = ""; };
A2FE137E1F75106F00C6F1EA /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
B403EE8620F4D48200EE5235 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = license.txt; sourceTree = ""; };
+ B4CCA04E22AE4EEA00C76715 /* Microblink.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Microblink.bundle; path = ../../Microblink.bundle; sourceTree = ""; };
+ B4CCA04F22AE4EEA00C76715 /* Microblink.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Microblink.framework; path = ../../Microblink.framework; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -68,7 +68,7 @@
files = (
A2FE137F1F75106F00C6F1EA /* libz.tbd in Frameworks */,
3139C8381C22B33E005AC32C /* libiconv.tbd in Frameworks */,
- 184958ED20AD90F000F27C8D /* MicroBlink.framework in Frameworks */,
+ B4CCA05222AE4EEE00C76715 /* Microblink.framework in Frameworks */,
3139C8361C22B338005AC32C /* libc++.tbd in Frameworks */,
3139C8341C22B333005AC32C /* AudioToolbox.framework in Frameworks */,
3139C8321C22B324005AC32C /* CoreMedia.framework in Frameworks */,
@@ -118,8 +118,8 @@
A2FE137E1F75106F00C6F1EA /* libz.tbd */,
3139C8371C22B33E005AC32C /* libiconv.tbd */,
3139C8351C22B338005AC32C /* libc++.tbd */,
- 184958EA20AD90F000F27C8D /* MicroBlink.bundle */,
- 184958EB20AD90F000F27C8D /* MicroBlink.framework */,
+ B4CCA04E22AE4EEA00C76715 /* Microblink.bundle */,
+ B4CCA04F22AE4EEA00C76715 /* Microblink.framework */,
3139C8331C22B333005AC32C /* AudioToolbox.framework */,
3139C8311C22B324005AC32C /* CoreMedia.framework */,
3139C82F1C22B31D005AC32C /* AVFoundation.framework */,
@@ -171,7 +171,7 @@
3139C8161C22B2AC005AC32C = {
CreatedOnToolsVersion = 7.2;
DevelopmentTeam = CQTJWP89J7;
- LastSwiftMigration = 0900;
+ LastSwiftMigration = 1020;
};
};
};
@@ -180,6 +180,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
Base,
);
@@ -198,10 +199,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 184958EC20AD90F000F27C8D /* MicroBlink.bundle in Resources */,
3139C8251C22B2AC005AC32C /* LaunchScreen.storyboard in Resources */,
B403EE8720F4D48200EE5235 /* license.txt in Resources */,
3139C8221C22B2AC005AC32C /* Assets.xcassets in Resources */,
+ B4CCA05022AE4EEA00C76715 /* Microblink.bundle in Resources */,
3139C8201C22B2AC005AC32C /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -374,8 +375,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -390,8 +390,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.microblink.blinkinput.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_SWIFT3_OBJC_INFERENCE = Default;
- SWIFT_VERSION = 4.0;
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
diff --git a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/CustomOverlay.swift b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/CustomOverlay.swift
index c748ec7..86ffe74 100644
--- a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/CustomOverlay.swift
+++ b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/CustomOverlay.swift
@@ -35,19 +35,19 @@ class CustomOverlay: MBCustomOverlayViewController, MBScanningRecognizerRunnerVi
if recognizer is MBBarcodeRecognizer {
let barcodeRecognizer = recognizer as? MBBarcodeRecognizer
title = "QR Code"
- message = (barcodeRecognizer?.result.stringData())!
+ message = (barcodeRecognizer?.result.stringData)!
}
else if recognizer is MBPdf417Recognizer {
let pdf417Recognizer = recognizer as? MBPdf417Recognizer
title = "PDF417"
- message = (pdf417Recognizer?.result.stringData())!
+ message = (pdf417Recognizer?.result.stringData)!
}
}
}
- let alertController: UIAlertController = UIAlertController.init(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
+ let alertController: UIAlertController = UIAlertController.init(title: title, message: message, preferredStyle: UIAlertController.Style.alert)
- let okAction: UIAlertAction = UIAlertAction.init(title: "OK", style: UIAlertActionStyle.default,
+ let okAction: UIAlertAction = UIAlertAction.init(title: "OK", style: UIAlertAction.Style.default,
handler: { (action) -> Void in
self.dismiss(animated: true, completion: nil)
})
diff --git a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/license.txt b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/license.txt
index 4c74652..69fb25a 100644
Binary files a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/license.txt and b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/License/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 1e19cf6..ffe884e 100644
--- a/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift
+++ b/Samples/pdf417-sample-Swift/pdf417-sample-Swift/ViewController.swift
@@ -25,7 +25,7 @@ class ViewController: UIViewController {
/** Create barcode recognizer */
self.barcodeRecognizer = MBBarcodeRecognizer()
- self.barcodeRecognizer?.scanQR = true
+ self.barcodeRecognizer?.scanQrCode = true
self.pdf417Recognizer = MBPdf417Recognizer()
@@ -49,7 +49,7 @@ class ViewController: UIViewController {
/** Create barcode recognizer */
self.barcodeRecognizer = MBBarcodeRecognizer()
- self.barcodeRecognizer?.scanQR = true
+ self.barcodeRecognizer?.scanQrCode = true
self.pdf417Recognizer = MBPdf417Recognizer()
@@ -84,22 +84,22 @@ extension ViewController: MBBarcodeOverlayViewControllerDelegate {
title = "QR Code"
// Save the string representation of the code
- message = self.barcodeRecognizer!.result.stringData()
+ message = self.barcodeRecognizer!.result.stringData!
}
else if (self.pdf417Recognizer!.result.resultState == MBRecognizerResultState.valid) {
title = "PDF417"
// Save the string representation of the code
- message = self.pdf417Recognizer!.result.stringData()
+ message = self.pdf417Recognizer!.result.stringData!
}
/** Needs to be called on main thread beacuse everything prior is on background thread */
DispatchQueue.main.async {
// present the alert view with scanned results
- let alertController: UIAlertController = UIAlertController.init(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
+ let alertController: UIAlertController = UIAlertController.init(title: title, message: message, preferredStyle: UIAlertController.Style.alert)
- let okAction: UIAlertAction = UIAlertAction.init(title: "OK", style: UIAlertActionStyle.default,
+ let okAction: UIAlertAction = UIAlertAction.init(title: "OK", style: UIAlertAction.Style.default,
handler: { (action) -> Void in
self.dismiss(animated: true, completion: nil)
})
diff --git a/Transition guide.md b/Transition guide.md
index 621c0ce..313f103 100644
--- a/Transition guide.md
+++ b/Transition guide.md
@@ -1,3 +1,11 @@
+### Transition to 4.1.0
+
+- renamed MicroBlink.framework to Microblink.framework
+
+- renamed MicroBlink.bundle to Microblink.bundle
+
+- `isScanningUnsupportedForCameraType:` is now class method of `MBMicroblinkSDK`
+
### Transition to 2.3.0
- Since Microblink.framework is a dynamic framework, you also need to **add it to embedded binaries section in General settings of your target.**
@@ -167,4 +175,4 @@ with
- Main header of the framework was renamed to ``. Change all references to previous header with the new one.
-- method `[PPCoordinator isPhotoPaySupported]` was renamed to `[PPCoordinator isScanningSupported]`. Change all occurances of the method name.
\ No newline at end of file
+- method `[PPCoordinator isPhotoPaySupported]` was renamed to `[PPCoordinator isScanningSupported]`. Change all occurances of the method name.
diff --git a/buildCommit.txt b/buildCommit.txt
index afb4b82..bc91f7e 100644
--- a/buildCommit.txt
+++ b/buildCommit.txt
@@ -1 +1 @@
-Built from core repository commit 956df4d6c30e0bf84362fbfb5f192c9cacaa4780
+Built from core repository commit 14e03599f8b9dc4cb5eb41c2485f1037c8f35480
diff --git a/docs/Classes.html b/docs/Classes.html
index 02fa1a4..3c6e48b 100644
--- a/docs/Classes.html
+++ b/docs/Classes.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
- MBBaseOverlayViewController
+ MBBaseOverlayViewController
MBBlinkInputRecognizer
@@ -179,6 +179,9 @@
MBFrameGrabberRecognizer
+
+ MBGlareStatusSubview
+
MBIbanParser
@@ -408,6 +411,15 @@
MBBarcodeType
+
+ MBCameraAutofocusRestriction
+
+
+ MBCameraPreset
+
+
+ MBCameraType
+
MBDateFormat
@@ -453,15 +465,6 @@
MBTopUpPreset
-
- PPCameraAutofocusRestriction
-
-
- PPCameraPreset
-
-
- PPCameraType
-
PPDocumentType
@@ -536,6 +539,9 @@
MBScanningRecognizerRunnerViewControllerDelegate
+
+ MBStringProcessingRecognizerRunnerDelegate
+
MBSubviewDelegate
@@ -553,6 +559,9 @@
CGLine
+
+ MBCaptureHighResImage
+
MBDateFormatArray
@@ -831,12 +840,12 @@ Declaration
@@ -1055,6 +1064,7 @@ Declaration
Common base class for default overlay view controllers
+
See more
Declaration
@@ -1946,13 +1956,12 @@
Declaration
@@ -2269,6 +2278,45 @@ Declaration
+
+
+
+
+
+
+
+
+
+
Overlay subview presenting the status of glare detection.
+The subview is presented as translucent view with detection status label in the center of ID Card View Finder View
+
+
See more
+
+
+
Declaration
+
+
Objective-C
+
+@interface MBGlareStatusSubview : MBSubview
+
+
+
+
Swift
+
class MBGlareStatusSubview : MBSubview
+
+
+
+
+
+
+
+
@@ -2595,11 +2643,10 @@ Declaration
/** Returns true if the help was already shown */
- ( BOOL ) isHelpShown ;
-/**
- * This method check existance of the default resources bundle Microblink.bundle,
- * and throws an exception if it's missing
+/**
+ * Returns the default resources bundle. If it doesn't exist, it will be nil.
*/
-+ ( NSBundle * ) verifyAndGetDefaultResourcesBundle ;
++ ( NSBundle * ) getDefaultResourcesBundle ;
@end
@@ -4912,7 +4959,7 @@ Declaration
-
-
-
-
-
-
-
-
- PPBlinkOCR Reference
-
- PPCameraAutofocusRestriction Enumeration Reference
-
-
-
-
-
-
-
-
-
-
-
PPCameraAutofocusRestriction
-
-
-
enum PPCameraAutofocusRestriction {}
-
-
-
-
Camera autofocus restricion mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Default. Indicates that the autofocus system should not restrict the focus range.
-
-
-
-
Declaration
-
-
Objective-C
-
PPCameraAutofocusRestrictionNone
-
-
-
-
Swift
-
case none = 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Indicates that the autofocus system should restrict the focus range for subject matter that is near to the camera.
-
-
-
-
Declaration
-
-
Objective-C
-
PPCameraAutofocusRestrictionNear
-
-
-
-
Swift
-
case near = 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Indicates that the autofocus system should restrict the focus range for subject matter that is far from the camera.
-
-
-
-
Declaration
-
-
Objective-C
-
PPCameraAutofocusRestrictionFar
-
-
-
-
Swift
-
case far = 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/Classes/MBAmountParser.html b/docs/Classes/MBAmountParser.html
index 622ff2d..1bdb735 100644
--- a/docs/Classes/MBAmountParser.html
+++ b/docs/Classes/MBAmountParser.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBAmountParserResult.html b/docs/Classes/MBAmountParserResult.html
index a7a3a0b..cce56c3 100644
--- a/docs/Classes/MBAmountParserResult.html
+++ b/docs/Classes/MBAmountParserResult.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBBarcodeOverlaySettings.html b/docs/Classes/MBBarcodeOverlaySettings.html
index 9b481f7..f1ac84c 100644
--- a/docs/Classes/MBBarcodeOverlaySettings.html
+++ b/docs/Classes/MBBarcodeOverlaySettings.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBSuccessFrameGrabberRecognizerResult.html b/docs/Classes/MBSuccessFrameGrabberRecognizerResult.html
index afa0ec4..4de0feb 100644
--- a/docs/Classes/MBSuccessFrameGrabberRecognizerResult.html
+++ b/docs/Classes/MBSuccessFrameGrabberRecognizerResult.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBTemplatingClass.html b/docs/Classes/MBTemplatingClass.html
index 5f8bcc2..f19bc72 100644
--- a/docs/Classes/MBTemplatingClass.html
+++ b/docs/Classes/MBTemplatingClass.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBTemplatingRecognizer.html b/docs/Classes/MBTemplatingRecognizer.html
index add222d..25645db 100644
--- a/docs/Classes/MBTemplatingRecognizer.html
+++ b/docs/Classes/MBTemplatingRecognizer.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBTemplatingRecognizerResult.html b/docs/Classes/MBTemplatingRecognizerResult.html
index 5a1d6a3..41cdd82 100644
--- a/docs/Classes/MBTemplatingRecognizerResult.html
+++ b/docs/Classes/MBTemplatingRecognizerResult.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBTopUpParser.html b/docs/Classes/MBTopUpParser.html
index e0700e0..01d04f5 100644
--- a/docs/Classes/MBTopUpParser.html
+++ b/docs/Classes/MBTopUpParser.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBTopUpParserResult.html b/docs/Classes/MBTopUpParserResult.html
index cac411d..09cf889 100644
--- a/docs/Classes/MBTopUpParserResult.html
+++ b/docs/Classes/MBTopUpParserResult.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBViewControllerFactory.html b/docs/Classes/MBViewControllerFactory.html
index 519999a..8cf9238 100644
--- a/docs/Classes/MBViewControllerFactory.html
+++ b/docs/Classes/MBViewControllerFactory.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBVinParser.html b/docs/Classes/MBVinParser.html
index ce64354..f50c339 100644
--- a/docs/Classes/MBVinParser.html
+++ b/docs/Classes/MBVinParser.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Classes/MBVinParserResult.html b/docs/Classes/MBVinParserResult.html
index 7aca418..dea6758 100644
--- a/docs/Classes/MBVinParserResult.html
+++ b/docs/Classes/MBVinParserResult.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Constants.html b/docs/Constants.html
index 8dbd3d4..a421dff 100644
--- a/docs/Constants.html
+++ b/docs/Constants.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums.html b/docs/Enums.html
index 6b46980..735104e 100644
--- a/docs/Enums.html
+++ b/docs/Enums.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBDetectionCode.html b/docs/Enums/MBDetectionCode.html
index 4669cd5..aef34e8 100644
--- a/docs/Enums/MBDetectionCode.html
+++ b/docs/Enums/MBDetectionCode.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBDetectionStatus.html b/docs/Enums/MBDetectionStatus.html
index 2ccd58d..ff79943 100644
--- a/docs/Enums/MBDetectionStatus.html
+++ b/docs/Enums/MBDetectionStatus.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBDocumentSpecificationPreset.html b/docs/Enums/MBDocumentSpecificationPreset.html
index 25dbf18..6706e63 100644
--- a/docs/Enums/MBDocumentSpecificationPreset.html
+++ b/docs/Enums/MBDocumentSpecificationPreset.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBFrameQualityEstimationMode.html b/docs/Enums/MBFrameQualityEstimationMode.html
index 2d00adb..87fb959 100644
--- a/docs/Enums/MBFrameQualityEstimationMode.html
+++ b/docs/Enums/MBFrameQualityEstimationMode.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBMrtdSpecificationPreset.html b/docs/Enums/MBMrtdSpecificationPreset.html
index da24456..c698792 100644
--- a/docs/Enums/MBMrtdSpecificationPreset.html
+++ b/docs/Enums/MBMrtdSpecificationPreset.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBOcrFont.html b/docs/Enums/MBOcrFont.html
index 64a5049..4456bf0 100644
--- a/docs/Enums/MBOcrFont.html
+++ b/docs/Enums/MBOcrFont.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBParserResultState.html b/docs/Enums/MBParserResultState.html
index db14ff5..ca289a4 100644
--- a/docs/Enums/MBParserResultState.html
+++ b/docs/Enums/MBParserResultState.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBProcessingOrientation.html b/docs/Enums/MBProcessingOrientation.html
index 640aedd..ca0839c 100644
--- a/docs/Enums/MBProcessingOrientation.html
+++ b/docs/Enums/MBProcessingOrientation.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBProcessorResultState.html b/docs/Enums/MBProcessorResultState.html
index 8eb2ee5..ea5727b 100644
--- a/docs/Enums/MBProcessorResultState.html
+++ b/docs/Enums/MBProcessorResultState.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBRecognitionMode.html b/docs/Enums/MBRecognitionMode.html
index 4240add..89fcbc7 100644
--- a/docs/Enums/MBRecognitionMode.html
+++ b/docs/Enums/MBRecognitionMode.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBRecognizerResultState.html b/docs/Enums/MBRecognizerResultState.html
index d37ce49..8f4758f 100644
--- a/docs/Enums/MBRecognizerResultState.html
+++ b/docs/Enums/MBRecognizerResultState.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBScanningMode.html b/docs/Enums/MBScanningMode.html
index 9255d39..b9d9f9c 100644
--- a/docs/Enums/MBScanningMode.html
+++ b/docs/Enums/MBScanningMode.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/MBTopUpPreset.html b/docs/Enums/MBTopUpPreset.html
index 9c49d2d..d2ada30 100644
--- a/docs/Enums/MBTopUpPreset.html
+++ b/docs/Enums/MBTopUpPreset.html
@@ -81,7 +81,7 @@
MBBaseOverlaySettings
diff --git a/docs/Enums/PPCameraAutofocusRestriction.html b/docs/Enums/PPCameraAutofocusRestriction.html
deleted file mode 100644
index 5adfbbb..0000000
--- a/docs/Enums/PPCameraAutofocusRestriction.html
+++ /dev/null
@@ -1,813 +0,0 @@
-
-
-