diff --git a/CHANGELOG.md b/CHANGELOG.md index 40a4c76e0..c20cca664 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +## 2.15.0 + +- Updates and additions + - added support for reading back side of Malaysian MyKad - use `PPMyKadBackRecognizerSettings` + - added support for reading Malaysian MyTentera documents - use `PPMyTenteraRecognizerSettings` + - added support for reading Malaysian MyTentera documents with MyKad recognizer - use `PPMyKadFrontRecognizerSettings` and enable reading of army number + - added support for setting DPI for full document images returned by `PPMyKadFrontRecognizerSettings`, `PPMyKadBackRecognizerSettings`, `PPMyKadFrontRecognizerSettings` and `PPIKadRecognizerSettings`: + - use `fullDocumentImageDPI` on the corresponding recognizer settings + - added full support for iPhone X layout for all SDK's overlay views + +- Minor API changes + - renamed `PPMyKadRecognizerSettings` and `PPMyKadRecognizerResult` to `PPMyKadFrontRecognizerSettings` and `PPMyKadFrontRecognizerResult` + +- Improvements in ID scanning performance + - improved `PPAustraliaDLFrontRecognizer`: + - improved reading of names and addresses + - added support for reading first names with more words + - improved `PPSingaporeIDFrontRecognizer`: + - tuned ID card data extraction positions + - improved Malaysian `IKadRecognizer`: + - better reading of date of expiry and employer fields + +- Bugfixes + - fixed crash in `PPDocumentFaceRecognizer` + - added missing document classifier property `documentClassifier` to `PPTemplatingRecognizerSettings` + ## 2.14.0 - Updates and additions diff --git a/MicroBlink.bundle/Info.plist b/MicroBlink.bundle/Info.plist index e81f7cb56..c030901f4 100644 Binary files a/MicroBlink.bundle/Info.plist and b/MicroBlink.bundle/Info.plist differ diff --git a/MicroBlink.bundle/malaysian_confusions.zzip b/MicroBlink.bundle/malaysian_confusions.zzip index ce615b2d5..1df097cb5 100644 Binary files a/MicroBlink.bundle/malaysian_confusions.zzip and b/MicroBlink.bundle/malaysian_confusions.zzip differ diff --git a/MicroBlink.framework/Headers/PPBlinkIDRecognizers.h b/MicroBlink.framework/Headers/PPBlinkIDRecognizers.h index c2fa80c21..f37ff9a27 100644 --- a/MicroBlink.framework/Headers/PPBlinkIDRecognizers.h +++ b/MicroBlink.framework/Headers/PPBlinkIDRecognizers.h @@ -66,8 +66,16 @@ #import "PPiKadRecognizerResult.h" // Malaysian IDs (MyKad) -#import "PPMyKadRecognizerSettings.h" -#import "PPMyKadRecognizerResult.h" +#import "PPMyKadFrontRecognizerSettings.h" +#import "PPMyKadFrontRecognizerResult.h" + +// Malaysian IDs Back (MyKad) +#import "PPMyKadBackRecognizerSettings.h" +#import "PPMyKadBackRecognizerResult.h" + +// Malaysian army IDs (MyTentera) +#import "PPMyTenteraRecognizerSettings.h" +#import "PPMyTenteraRecognizerResult.h" // MRTD #import "PPMrtdRecognizerSettings.h" diff --git a/MicroBlink.framework/Headers/PPBlinkOcrRecognizerSettings.h b/MicroBlink.framework/Headers/PPBlinkOcrRecognizerSettings.h index 6576b7d35..5aeb7233a 100644 --- a/MicroBlink.framework/Headers/PPBlinkOcrRecognizerSettings.h +++ b/MicroBlink.framework/Headers/PPBlinkOcrRecognizerSettings.h @@ -52,35 +52,6 @@ PP_CLASS_DEPRECATED_IOS(1_0, 5_10_0, "Use PPDetectorRecognizerSettings for templ */ @property (nonatomic) BOOL allowFlippedRecognition; -/** - * Delegate for document classification. - * - * Default: nil - */ -@property (nonatomic) id documentClassifier; - -/** - * Sets array of PPDecodingInfo to be used when PPDocumentClassifer outputs a selected result. - * - * @see PPDocumentClassifier - * - * @param decodingInfos Decoding infos to be used when PPDocumentClassifier outputs selected result - * @param classifierResult Output from PPDocumentClassifer - */ -- (void)setDecodingInfoSet:(NSArray *)decodingInfos forClassifierResult:(NSString *)classifierResult; - -/** - * Removes all decoding infos for a given classifier result. - * - * @param classifierResult Removes all decoding infos linked to specified classifier result - */ -- (void)removeDecodingInfoSetForClassifierResult:(NSString *)classifierResult; - -/** - * Removes all present decoding info - */ -- (void)removeAllDecodingInfoSets; - @end NS_ASSUME_NONNULL_END diff --git a/MicroBlink.framework/Headers/PPMyKadBackRecognizerResult.h b/MicroBlink.framework/Headers/PPMyKadBackRecognizerResult.h new file mode 100644 index 000000000..d9f907026 --- /dev/null +++ b/MicroBlink.framework/Headers/PPMyKadBackRecognizerResult.h @@ -0,0 +1,45 @@ +// +// PPMyKadBackRecognizerResult.h +// MicroBlinkDev +// +// Created by Jura Skrlec on 21/12/2017. +// + +#import "PPDetectorRecognizerResult.h" + +/** + * Result of scanning MyKad Back (Malaysian ID document). + */ +PP_CLASS_AVAILABLE_IOS(6.0) +@interface PPMyKadBackRecognizerResult : PPDetectorRecognizerResult + +/** + * NRIC number (National Registration Identity Card Number) + * + * @see https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_.28NRIC.29 + */ +@property (nonatomic, readonly, nullable) NSString *nricNumber; + +/** + * Extended NRIC number (National Registration Identity Card Number) + * + * @see https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_.28NRIC.29 + */ +@property (nonatomic, readonly, nullable) NSString *extendedNricNumber; + +/** + * Owner birth date string, as written on the document (YYMMDD format) + */ +@property (nonatomic, readonly, nullable) NSString *rawOwnerBirthDate; + +/** + * Owner birth date converted in NSDate object + */ +@property (nonatomic, readonly, nullable) NSDate *ownerBirthDate; + +/** + * Owner sex (M for male, F for female) + */ +@property (nonatomic, readonly, nullable) NSString *ownerSex; + +@end diff --git a/MicroBlink.framework/Headers/PPMyKadBackRecognizerSettings.h b/MicroBlink.framework/Headers/PPMyKadBackRecognizerSettings.h new file mode 100644 index 000000000..4e0dfdf61 --- /dev/null +++ b/MicroBlink.framework/Headers/PPMyKadBackRecognizerSettings.h @@ -0,0 +1,68 @@ +// +// PPMyKadBackRecognizerSettings.h +// MicroBlinkDev +// +// Created by Jura Skrlec on 21/12/2017. +// + +#import "PPRecognizerSettings.h" + + +NS_ASSUME_NONNULL_BEGIN + +/** + * Settings class for configuring Malaysian MyKad Back Recognizer. + * + * Malaysian MyKad Back recognizer is used for scanning front side of Malaysian MyKad Back. + */ +PP_CLASS_AVAILABLE_IOS(6.0) + +@interface PPMyKadBackRecognizerSettings : PPRecognizerSettings + +/** + * Name of the image sent to didOutputMetadata method of scanDelegate object that contains signature. + * This image will be sent to scan delegate during recognition process if displaying of face image + * is enabled via displaySignatureImage property and receiving of dewarpedImage in MetadataSettings is enabled. + */ ++ (NSString *)ID_SIGNATURE; + +/** + * Name of the image sent to didOutputMetadata method of scanDelegate object that contains full document. + * This image will be sent to scan delegate during recognition process if displaying of full document image + * is enabled via displayFullDocumentImage property and receiving of dewarpedImage in MetadataSettings is enabled. + */ ++ (NSString *)FULL_DOCUMENT_IMAGE; + +/** + * Sets whether face image from ID card should be sent to didOutputMetadata method of scanDelegate object. + * If you want to recieve this image, be sure to enable dewarpedImage in MetadataSettings. + * + * Default: NO + */ +@property (nonatomic, assign) BOOL displaySignatureImage; + +/** + * Sets whether full document image of ID card should be sent to didOutputMetadata method of scanDelegate object. + * If you want to recieve this image, be sure to enable dewarpedImage in MetadataSettings. + * + * Default: NO + */ +@property (nonatomic, assign) BOOL displayFullDocumentImage; + +/** + * Defines if glare detection should be turned on/off for Malaysian MyKad Back. + * + * Default: YES + */ +@property (nonatomic, assign) BOOL detectGlare; + +/** + * Property got setting DPI for full document images + * + * Default: 250.0 + */ +@property (nonatomic, assign) NSUInteger fullDocumentImageDPI; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MicroBlink.framework/Headers/PPMyKadRecognizerResult.h b/MicroBlink.framework/Headers/PPMyKadFrontRecognizerResult.h similarity index 90% rename from MicroBlink.framework/Headers/PPMyKadRecognizerResult.h rename to MicroBlink.framework/Headers/PPMyKadFrontRecognizerResult.h index 5cd415c76..0b8b47958 100644 --- a/MicroBlink.framework/Headers/PPMyKadRecognizerResult.h +++ b/MicroBlink.framework/Headers/PPMyKadFrontRecognizerResult.h @@ -12,7 +12,7 @@ * Result of scanning MyKad (Malaysian ID document). */ PP_CLASS_AVAILABLE_IOS(6.0) -@interface PPMyKadRecognizerResult : PPRecognizerResult +@interface PPMyKadFrontRecognizerResult : PPRecognizerResult /** * NRIC number (National Registration Identity Card Number) @@ -71,4 +71,9 @@ PP_CLASS_AVAILABLE_IOS(6.0) */ @property (nonatomic, readonly, nullable) NSString *ownerSex; +/** + * Owner army number on MyTentera documents + */ +@property (nonatomic, readonly, nullable) NSString *armyNumber; + @end diff --git a/MicroBlink.framework/Headers/PPMyKadRecognizerSettings.h b/MicroBlink.framework/Headers/PPMyKadFrontRecognizerSettings.h similarity index 82% rename from MicroBlink.framework/Headers/PPMyKadRecognizerSettings.h rename to MicroBlink.framework/Headers/PPMyKadFrontRecognizerSettings.h index 6f5f7267c..1ed515652 100644 --- a/MicroBlink.framework/Headers/PPMyKadRecognizerSettings.h +++ b/MicroBlink.framework/Headers/PPMyKadFrontRecognizerSettings.h @@ -19,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN * @see https://en.wikipedia.org/wiki/Malaysian_identity_card */ PP_CLASS_AVAILABLE_IOS(6.0) -@interface PPMyKadRecognizerSettings : PPRecognizerSettings +@interface PPMyKadFrontRecognizerSettings : PPRecognizerSettings /** * Name of the image sent to didOutputMetadata method of scanDelegate object that contains face. @@ -35,6 +35,13 @@ PP_CLASS_AVAILABLE_IOS(6.0) */ + (NSString *)FULL_DOCUMENT_IMAGE; +/** + * Defines if army number should be extracted from MyTentera documents with MyKadRecognizer + * + * Default: NO + */ +@property (nonatomic, assign) BOOL extractArmyNumber; + /** * Sets whether full document image of ID card should be sent to didOutputMetadata method of scanDelegate object. * If you want to recieve this image, be sure to enable dewarpedImage in MetadataSettings. @@ -51,6 +58,13 @@ PP_CLASS_AVAILABLE_IOS(6.0) */ @property (nonatomic, assign) BOOL showFaceImage; +/** + * Property got setting DPI for full document images + * + * Default: 250.0 + */ +@property (nonatomic, assign) NSUInteger fullDocumentImageDPI; + @end NS_ASSUME_NONNULL_END diff --git a/MicroBlink.framework/Headers/PPMyTenteraRecognizerResult.h b/MicroBlink.framework/Headers/PPMyTenteraRecognizerResult.h new file mode 100644 index 000000000..13159e820 --- /dev/null +++ b/MicroBlink.framework/Headers/PPMyTenteraRecognizerResult.h @@ -0,0 +1,79 @@ +// +// PPMyTenteraRecognizerResult.h +// MicroBlinkDev +// +// Created by Jura Skrlec on 21/12/2017. +// + +#import "PPDetectorRecognizerResult.h" + +/** + * Class representing values obtained when scanning front side of MyTentera + */ +PP_CLASS_AVAILABLE_IOS(6.0) + +@interface PPMyTenteraRecognizerResult : PPDetectorRecognizerResult + +/** + * NRIC number (National Registration Identity Card Number) + * + * @see https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_.28NRIC.29 + */ +@property (nonatomic, readonly, nullable) NSString *nricNumber; + +/** + * Owner army number + */ +@property (nonatomic, readonly, nullable) NSString *armyNumber; + +/** + * Owner address + */ +@property (nonatomic, readonly, nullable) NSString *ownerAddress; + +/** + * Owner address city. Determined from owner address. + */ +@property (nonatomic, readonly, nullable) NSString *ownerAddressCity; + +/** + * Owner address state. Determined from owner address. + */ +@property (nonatomic, readonly, nullable) NSString *ownerAddressState; + +/** + * Owner address Zip code. Determined from owner address. + */ +@property (nonatomic, readonly, nullable) NSString *ownerAddressZipCode; + +/** + * Owner street. Determined from owner address. + */ +@property (nonatomic, readonly, nullable) NSString *ownerAddressStreet; + +/** + * Owner birth date string, as written on the document (YYMMDD format) + */ +@property (nonatomic, readonly, nullable) NSString *rawOwnerBirthDate; + +/** + * Owner birth date converted in NSDate object + */ +@property (nonatomic, readonly, nullable) NSDate *ownerBirthDate; + +/** + * Owner full name + */ +@property (nonatomic, readonly, nullable) NSString *ownerFullName; + +/** + * Owner religion if written on MyKad + */ +@property (nonatomic, readonly, nullable) NSString *ownerReligion; + +/** + * Owner sex (M for male, F for female) + */ +@property (nonatomic, readonly, nullable) NSString *ownerSex; + +@end diff --git a/MicroBlink.framework/Headers/PPMyTenteraRecognizerSettings.h b/MicroBlink.framework/Headers/PPMyTenteraRecognizerSettings.h new file mode 100644 index 000000000..11897a277 --- /dev/null +++ b/MicroBlink.framework/Headers/PPMyTenteraRecognizerSettings.h @@ -0,0 +1,88 @@ +// +// PPMyTenteraRecognizerSettings.h +// MicroBlinkDev +// +// Created by Jura Skrlec on 21/12/2017. +// + +#import "PPRecognizerSettings.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Settings class for configuring Malaysian MyTentera Recognizer. + * + * Malaysian MyTentera recognizer is used for scanning front side of Malaysian myTentera. + */ +PP_CLASS_AVAILABLE_IOS(6.0) + +@interface PPMyTenteraRecognizerSettings : PPRecognizerSettings + +/** + * Name of the image sent to didOutputMetadata method of scanDelegate object that contains face. + * This image will be sent to scan delegate during recognition process if displaying of face image + * is enabled via displayFaceImage property and receiving of dewarpedImage in MetadataSettings is enabled. + */ ++ (NSString *)ID_FACE; + +/** + * Name of the image sent to didOutputMetadata method of scanDelegate object that contains full document. + * This image will be sent to scan delegate during recognition process if displaying of full document image + * is enabled via displayFullDocumentImage property and receiving of dewarpedImage in MetadataSettings is enabled. + */ ++ (NSString *)FULL_DOCUMENT_IMAGE; + +/** + * Defines if religion should be extracted from MyTentera + * + * Default: YES + */ +@property (nonatomic, assign) BOOL extractReligion; + +/** + * Defines if address should be extracted from MyTentera + * + * Default: YES + */ +@property (nonatomic, assign) BOOL extractAddress; + +/** + * Defines if owner's full name should be extracted from MyTentera + * + * Default: YES + */ +@property (nonatomic, assign) BOOL extractFullName; + +/** + * Sets whether face image from ID card should be sent to didOutputMetadata method of scanDelegate object. + * If you want to recieve this image, be sure to enable dewarpedImage in MetadataSettings. + * + * Default: NO + */ +@property (nonatomic, assign) BOOL displayFaceImage; + +/** + * Sets whether full document image of ID card should be sent to didOutputMetadata method of scanDelegate object. + * If you want to recieve this image, be sure to enable dewarpedImage in MetadataSettings. + * + * Default: NO + */ +@property (nonatomic, assign) BOOL displayFullDocumentImage; + +/** + * Defines if glare detection should be turned on/off for Malaysian MyTentera. + * + * Default: YES + */ +@property (nonatomic, assign) BOOL detectGlare; + +/** + * Property got setting DPI for full document images + * + * Default: 250.0 + */ +@property (nonatomic, assign) NSUInteger fullDocumentImageDPI; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MicroBlink.framework/Headers/PPPermissionDeniedViewController.h b/MicroBlink.framework/Headers/PPPermissionDeniedViewController.h index dd5ab77de..efead23db 100644 --- a/MicroBlink.framework/Headers/PPPermissionDeniedViewController.h +++ b/MicroBlink.framework/Headers/PPPermissionDeniedViewController.h @@ -18,6 +18,8 @@ PP_CLASS_AVAILABLE_IOS(6.0) @property (nonatomic, assign) BOOL hideCancelButton; +@property (nonatomic, assign) UIInterfaceOrientation futureInterfaceOrinetation; + @end @protocol PPPermissionDeniedDelegate diff --git a/MicroBlink.framework/Headers/PPTemplatingRecognizerSettings.h b/MicroBlink.framework/Headers/PPTemplatingRecognizerSettings.h index 3d78918db..fb9d099fc 100644 --- a/MicroBlink.framework/Headers/PPTemplatingRecognizerSettings.h +++ b/MicroBlink.framework/Headers/PPTemplatingRecognizerSettings.h @@ -9,6 +9,7 @@ #import "PPSegmentRecognizerSettings.h" #import "PPOcrParserFactory.h" #import "PPDecodingInfo.h" +#import "PPDocumentClassifier.h" NS_ASSUME_NONNULL_BEGIN @@ -20,6 +21,13 @@ PP_CLASS_AVAILABLE_IOS(6.0) @property (nonatomic) BOOL allowUnparsedResults; +/** + * Delegate for document classification. + * + * Default: nil + */ +@property (nonatomic) id documentClassifier; + /** * Sets array of PPDecodingInfo to be used when PPDocumentClassifer outputs a selected result. * diff --git a/MicroBlink.framework/Headers/PPiKadRecognizerSettings.h b/MicroBlink.framework/Headers/PPiKadRecognizerSettings.h index 90643d708..4351ef6c8 100644 --- a/MicroBlink.framework/Headers/PPiKadRecognizerSettings.h +++ b/MicroBlink.framework/Headers/PPiKadRecognizerSettings.h @@ -104,6 +104,13 @@ PP_CLASS_AVAILABLE_IOS(6.0) */ @property (nonatomic, assign) BOOL detectGlare; +/** + * Property got setting DPI for full document images + * + * Default: 250.0 + */ +@property (nonatomic, assign) NSUInteger fullDocumentImageDPI; + @end NS_ASSUME_NONNULL_END diff --git a/MicroBlink.framework/Info.plist b/MicroBlink.framework/Info.plist index e81a60b00..8a8a211f2 100644 Binary files a/MicroBlink.framework/Info.plist and b/MicroBlink.framework/Info.plist differ diff --git a/MicroBlink.framework/MicroBlink b/MicroBlink.framework/MicroBlink index b0c28a628..20e073592 100755 --- a/MicroBlink.framework/MicroBlink +++ b/MicroBlink.framework/MicroBlink @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92f44eea48e2bf79a35643f4a4035fd15216f24e52875691a293a1363477881c -size 93834768 +oid sha256:a2672a34b3fc844191ec232155efeeec4f2278b9d5ac82ef31edceffe41e25a9 +size 94822032 diff --git a/MicroBlink.framework/_CodeSignature/CodeResources b/MicroBlink.framework/_CodeSignature/CodeResources index b6a6ab3e3..e392ad276 100644 --- a/MicroBlink.framework/_CodeSignature/CodeResources +++ b/MicroBlink.framework/_CodeSignature/CodeResources @@ -114,7 +114,7 @@ Headers/PPBlinkIDRecognizers.h - Z1b7jmGiVEE3vX7u8P865JyjGrU= + j9f6cGSEvAZOm4txOVpPaagcZA8= Headers/PPBlinkInputRecognizerResult.h @@ -134,7 +134,7 @@ Headers/PPBlinkOcrRecognizerSettings.h - cDs2ky3ZSuuqk/r3Qn4ykZUJfL8= + 8Jpeowdipxo6d7kQB58Q6+72jbw= Headers/PPBlurredFieldOfViewOverlaySubview.h @@ -468,13 +468,29 @@ 2e66HGMJEK7epXZLs9tXuvXltE4= - Headers/PPMyKadRecognizerResult.h + Headers/PPMyKadBackRecognizerResult.h - Zv/Rya1DdNyeKoMPZZpjesDtrwQ= + qCy4gFXzVc3HYd1Zgbed4RQD63A= - Headers/PPMyKadRecognizerSettings.h + Headers/PPMyKadBackRecognizerSettings.h - YsLy9jlOtiT2C/lwuaqKrdHaIIs= + 3qURS8DtqZfre89sShAAF+haqrQ= + + Headers/PPMyKadFrontRecognizerResult.h + + 40Xro2NA7z35vx0NSM6PaWvFd08= + + Headers/PPMyKadFrontRecognizerSettings.h + + qfSAhuVRaVp/4wz8Qe83seJrSQQ= + + Headers/PPMyTenteraRecognizerResult.h + + rTL4natwE32wsoM8s84bdwGEtZk= + + Headers/PPMyTenteraRecognizerSettings.h + + oklVd+DdHr3dc8p97nwIc6GGQAk= Headers/PPNativeResult.h @@ -530,7 +546,7 @@ Headers/PPPermissionDeniedViewController.h - JqM7bxAsoLHnQhJzoqImLd9kT7M= + WU2RM4G3OkydrDvrHa5y/ESKqtc= Headers/PPPointsDetectorResult.h @@ -786,7 +802,7 @@ Headers/PPTemplatingRecognizerSettings.h - 3tOoridTBOnhsGjfVD4FUWIt+Xw= + VJat0AcV3z67kXlB0Fcv8Wtc6Og= Headers/PPTextMetadata.h @@ -854,11 +870,11 @@ Headers/PPiKadRecognizerSettings.h - 691jAX2NRZTEq0CaHHprHIo1bho= + BQ8xOMgW0Voc6AMny1apPaIYM30= Info.plist - N1ujcMuq6PrgGPN0ZBPlwC/q6/E= + HxvZGP86dx9pve9MH8ayAlshxeM= Modules/module.modulemap @@ -1168,11 +1184,11 @@ hash - Z1b7jmGiVEE3vX7u8P865JyjGrU= + j9f6cGSEvAZOm4txOVpPaagcZA8= hash2 - CFVZVQ1faqx+m0RHJqFMjY0SlorM8Xknh+hJH/2yW/0= + KAJdILAePxTicGwLr5i5SLpryDo26Jjch+spy7ZMOGY= Headers/PPBlinkInputRecognizerResult.h @@ -1223,11 +1239,11 @@ hash - cDs2ky3ZSuuqk/r3Qn4ykZUJfL8= + 8Jpeowdipxo6d7kQB58Q6+72jbw= hash2 - B8cMPlCJuv83o5dTyKFtiRlAAIoruau4pllOa0XNSMs= + 5N6wbzr/A7K1QCEmU3/tC1Nhp+W4N2PBxeC5ZGv8oT8= Headers/PPBlurredFieldOfViewOverlaySubview.h @@ -2143,26 +2159,70 @@ /bN3LTjcaS9JNHDsqcB+ogMDsLuzsd1ECeAR6k7xOds= - Headers/PPMyKadRecognizerResult.h + Headers/PPMyKadBackRecognizerResult.h + + hash + + qCy4gFXzVc3HYd1Zgbed4RQD63A= + + hash2 + + z7kkgNE3fqIsmkqiRxQPLwDpg9rsu/9jobtyuuAFRUM= + + + Headers/PPMyKadBackRecognizerSettings.h + + hash + + 3qURS8DtqZfre89sShAAF+haqrQ= + + hash2 + + Y8behUP4jGXs8U8NbL6Lqi3tfKQCleHdEVRoxgGVtrc= + + + Headers/PPMyKadFrontRecognizerResult.h + + hash + + 40Xro2NA7z35vx0NSM6PaWvFd08= + + hash2 + + oMfz5Ic3AJx7yBMeAFHC/tOegNNkzv9J5yAjtUTJx7Y= + + + Headers/PPMyKadFrontRecognizerSettings.h + + hash + + qfSAhuVRaVp/4wz8Qe83seJrSQQ= + + hash2 + + WEE4JMuD6xjkrC33QxaNjaefvoVZlRcG0OtnC2M723Y= + + + Headers/PPMyTenteraRecognizerResult.h hash - Zv/Rya1DdNyeKoMPZZpjesDtrwQ= + rTL4natwE32wsoM8s84bdwGEtZk= hash2 - NK+qZaQLQfQCI6L3RbSDo8ld8UaxSrJsnmneBciVK7Q= + WFpJKgS9UfS/zxScM0dxSzRJk+QQAqUVHBr1ehT9CRQ= - Headers/PPMyKadRecognizerSettings.h + Headers/PPMyTenteraRecognizerSettings.h hash - YsLy9jlOtiT2C/lwuaqKrdHaIIs= + oklVd+DdHr3dc8p97nwIc6GGQAk= hash2 - OEPTuLjLL//0XcsZQf71QHNJpkXvMLUejapF71FuKNg= + BsY2eRQdcch/Hu8iJu0Qwd3xYD9diU2DiXqFgN7Wy8I= Headers/PPNativeResult.h @@ -2312,11 +2372,11 @@ hash - JqM7bxAsoLHnQhJzoqImLd9kT7M= + WU2RM4G3OkydrDvrHa5y/ESKqtc= hash2 - GBUCaoES/HM9LTMaSBx6qSqBMAxh6WM1BGaNWSf2kd8= + iygxB2rffrqwVt+XJrpqCtFdNkqzp9BMBaWl04ecbd0= Headers/PPPointsDetectorResult.h @@ -3016,11 +3076,11 @@ hash - 3tOoridTBOnhsGjfVD4FUWIt+Xw= + VJat0AcV3z67kXlB0Fcv8Wtc6Og= hash2 - VweIkL18AO48qn4v8s2WpbmKFvQAkqbs/W1sPP0x2pM= + 5+WNghZ+7eMNmlv+MMRW1au6d3CXqWLv68k2ylTSViA= Headers/PPTextMetadata.h @@ -3203,11 +3263,11 @@ hash - 691jAX2NRZTEq0CaHHprHIo1bho= + BQ8xOMgW0Voc6AMny1apPaIYM30= hash2 - WWIpHgWaMu/hGCreSlpRaJgy42vIPofsvF8L1EoFojY= + GljwzDOwougscVPF5DiXpRLaEfGKVRV+ilkMsWiKrPk= Modules/module.modulemap diff --git a/PPBlinkID.podspec b/PPBlinkID.podspec index b2403c072..b6fa3bf17 100644 --- a/PPBlinkID.podspec +++ b/PPBlinkID.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "PPBlinkID" - s.version = "2.14.0" + s.version = "2.15.0" s.summary = "A delightful component for barcode scanning" s.homepage = "http://microblink.com" @@ -32,7 +32,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/BlinkID/blinkid-ios.git', - :tag => 'v2.14.0' + :tag => 'v2.15.0' } s.platform = :ios diff --git a/README.md b/README.md index f0bc29a31..86ad061dc 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ pod try PPBlinkID platform :ios, '8.0' target 'TargetName' do - pod 'PPBlinkID', '~> 2.14.0' + pod 'PPBlinkID', '~> 2.15.0' end ``` diff --git a/Release notes.md b/Release notes.md index 40a4c76e0..c20cca664 100644 --- a/Release notes.md +++ b/Release notes.md @@ -1,3 +1,29 @@ +## 2.15.0 + +- Updates and additions + - added support for reading back side of Malaysian MyKad - use `PPMyKadBackRecognizerSettings` + - added support for reading Malaysian MyTentera documents - use `PPMyTenteraRecognizerSettings` + - added support for reading Malaysian MyTentera documents with MyKad recognizer - use `PPMyKadFrontRecognizerSettings` and enable reading of army number + - added support for setting DPI for full document images returned by `PPMyKadFrontRecognizerSettings`, `PPMyKadBackRecognizerSettings`, `PPMyKadFrontRecognizerSettings` and `PPIKadRecognizerSettings`: + - use `fullDocumentImageDPI` on the corresponding recognizer settings + - added full support for iPhone X layout for all SDK's overlay views + +- Minor API changes + - renamed `PPMyKadRecognizerSettings` and `PPMyKadRecognizerResult` to `PPMyKadFrontRecognizerSettings` and `PPMyKadFrontRecognizerResult` + +- Improvements in ID scanning performance + - improved `PPAustraliaDLFrontRecognizer`: + - improved reading of names and addresses + - added support for reading first names with more words + - improved `PPSingaporeIDFrontRecognizer`: + - tuned ID card data extraction positions + - improved Malaysian `IKadRecognizer`: + - better reading of date of expiry and employer fields + +- Bugfixes + - fixed crash in `PPDocumentFaceRecognizer` + - added missing document classifier property `documentClassifier` to `PPTemplatingRecognizerSettings` + ## 2.14.0 - Updates and additions diff --git a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift index 8025ea633..60a1b25ad 100644 --- a/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift +++ b/Samples/BlinkID-sample-Swift/BlinkID-sample-Swift/ViewController.swift @@ -92,7 +92,7 @@ class ViewController: UIViewController, PPScanningDelegate { do { // Remove this if you're not using MyKad recognition // To specify we want to perform MyKad recognition, initialize the MyKad recognizer settings - let myKadRecognizerSettings = PPMyKadRecognizerSettings() + let myKadRecognizerSettings = PPMyKadFrontRecognizerSettings() /** You can modify the properties of myKadRecognizerSettings to suit your use-case */ @@ -196,9 +196,9 @@ class ViewController: UIViewController, PPScanningDelegate { title = "EUDL" message = eudlResult.description } - if (result is PPMyKadRecognizerResult) { + if (result is PPMyKadFrontRecognizerResult) { /** MyKad was detected */ - let myKadResult = result as! PPMyKadRecognizerResult + let myKadResult = result as! PPMyKadFrontRecognizerResult title = "MyKad" message = myKadResult.description } @@ -233,7 +233,7 @@ class ViewController: UIViewController, PPScanningDelegate { print("This image is full Machine readable travel document"); } else if (result.name == PPMrtdRecognizerSettings.mrz_IMAGE()) { print("This image is Machine readable zone"); - } else if (result.name == PPMyKadRecognizerSettings.full_DOCUMENT_IMAGE()) { + } else if (result.name == PPMyKadFrontRecognizerSettings.full_DOCUMENT_IMAGE()) { print("This image is full MyKad"); } } diff --git a/Samples/BlinkID-sample/BlinkID-sample/ViewController.m b/Samples/BlinkID-sample/BlinkID-sample/ViewController.m index da91b1e30..cba0d8953 100644 --- a/Samples/BlinkID-sample/BlinkID-sample/ViewController.m +++ b/Samples/BlinkID-sample/BlinkID-sample/ViewController.m @@ -182,9 +182,9 @@ - (void)scanningViewController:(UIViewController *)sca title = @"EUDL"; message = [eudlResult description]; } - if ([result isKindOfClass:[PPMyKadRecognizerResult class]]) { + if ([result isKindOfClass:[PPMyKadFrontRecognizerResult class]]) { /** MyKad was detected */ - PPMyKadRecognizerResult *myKadResult = (PPMyKadRecognizerResult *)result; + PPMyKadFrontRecognizerResult *myKadResult = (PPMyKadFrontRecognizerResult *)result; title = @"MyKad"; message = [myKadResult description]; } @@ -233,7 +233,7 @@ - (void)scanningViewController:(UIViewController *)sca } else if ([imageMetadata.name isEqualToString:[PPMrtdRecognizerSettings MRZ_IMAGE]]) { NSLog(@"This image is image of the MRZ zone"); NSLog(@"This image becomes available if mrtdRecognizerSettings.dewarpFullDocument == NO"); - } else if ([imageMetadata.name isEqualToString:[PPMyKadRecognizerSettings FULL_DOCUMENT_IMAGE]]) { + } else if ([imageMetadata.name isEqualToString:[PPMyKadFrontRecognizerSettings FULL_DOCUMENT_IMAGE]]) { NSLog(@"This image is full MyKad"); } } diff --git a/Transition guide.md b/Transition guide.md index cd52a07b8..9e91dfe6a 100644 --- a/Transition guide.md +++ b/Transition guide.md @@ -1,3 +1,7 @@ +## 2.15.0 + +- Renamed `PPMyKadRecognizerSettings` and `PPMyKadRecognizerResult` to `PPMyKadFrontRecognizerSettings` and `PPMyKadFrontRecognizerResult` + ## 2.14.0 - Removed `imageDPI` property on `PPTemplatingRecognizerSettings` diff --git a/buildCommit.txt b/buildCommit.txt index b34a2b0f0..7c140cb09 100644 --- a/buildCommit.txt +++ b/buildCommit.txt @@ -1 +1 @@ -Built from core repository commit a30c08d35b81a802ff841a8c01319439f5d97840 +Built from core repository commit 3f2d2b51fa54537153c0c0bac8be839b31947997