- The SDK dropped support for Mac Catalyst
- The SDK now supports iOS 13 or higher.
- No changes
- We renamed the SDK from
Microblink
toPhotoPay
. - The prefix for SDK classes changed from
MB
toMBP
. - The SDK now includes only
PhotoPay
andBlinkInput
recognizers. ForBlinkID
recognizers, please importBlinkID
SDK. - The SDK now supports iOS 11 or higher.
- No changes
- We have full support for Apple Silicon!
- Use
.xcframework
as we have full Apple Silicon and Intel support. - We are still supporting
fat binary .framework
format, but we removed simulator slices from it.
- We've replaced
Using time-limited license!
warning withUsing trial license!
warning. The warning message is displayed when using a trial license key. To disable it, useshowTrialLicenseWarning
onMBCMicroblinkSDK
.
- We've added an error callback when setting license keys on
MBMicroblinkSDK
- You will be getting error callback containing the reason why you could not unlock the SDK - see
MBLicenseError
- You will be getting error callback containing the reason why you could not unlock the SDK - see
- We are supporting
ARM64 Device
slice through our.xcframework
format. - We are still working on supporting the
ARM64 Simulator
slice for newly released ARM Macs. We will update our SDK withARM64 Simulator
support as soon as it’s out.
- SDK crashes on armv7 devices if bitcode is enabled. We are working on it.
- From now on, we are not supporting iOS 8 version.
- We added
errorCallback
onMBMicroblinkSDK
methods which needs to be implemented for properly setting up the license key.
- We have made some changes to the MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer:
- We renamed
MBDocumentImageMoireStatus
toMBImageAnalysisDetectionStatus
. - We grouped the
conditions
member from the results with theMBDriverLicenseDetailedInfo
structure.
- We renamed
- We renamed
MBRecogitionMode
toMBRecognitionDebugMode
inMBRecognizerCollection
. - Swift:
- We renamed all
sharedInstance
toshared
. - All enums are now
Int
. - All
unsigned integers
are nowInt
.
- We renamed all
- We moved
MBBlinkIdRecognizerResult
memberscolorStatus
andmoireStatus
to the result'simageAnalysisResult
(frontImageAnalysisResult
andbackImageAnalysisResult
inMBBlinkIDCombinedRecognizerResult
). - We moved all resources inside framework, we are not shipping
Microblink.bundle
anymore
- No changes
-
Major API changes:
- Swift Module has been renamed from
MicroBlink
toMicroblink
- Swift Module has been renamed from
-
Minor API changes:
- in combined recognizers results,
documentDataMatch
value is now returned asMBDataMatchResult
enum with three possible values:NotPerformed
,Failed
andSuccess
- methods
pauseScanning
andresumeScanningAndResetState
inMBRecognizerRunnerViewController
do not return anymoreBOOL
- use
isScanningPaused
to check if scanning is paused
- use
- in combined recognizers results,
- Minor API changes:
MBDocumentFaceRecognizer
- removed thetryBothOrientations
option (improved scan in all directions is enabled by default)- renamed following recognizers:
MBCroatiaPdf417Recognizer
toMBCroatiaPdf417PaymentRecognizer
MBCroatiaQrCodeRecognizer
toMBCroatiaQrCodePaymentRecognizer
MBSepaQrCodeRecognizer
toMBSepaQrCodePaymentRecognizer
MBSlovakiaCode128Recognizer
toMBSlovakiaCode128PaymentRecognizer
MBSlovakiaDataMatrixRecognizer
toMBSlovakiaDataMatrixPaymentRecognizer
MBSlovakiaQrCodeRecognizer
toMBSlovakiaQrCodePaymentRecognizer
MBSloveniaQrCodeRecognizer
toMBSloveniaQrCodePaymentRecognizer
MBSwitzerlandQrCodeRecognizer
toMBSwitzerlandQrCodePaymentRecognizer
MBUnitedKingdomQrCodeRecognizer
toMBUnitedKingdomQrCodePaymentRecognizer
- Minor API changes:
partialRecognitionTimeout
inMBRecognizerCollection
default value has been changed to 0 which means no timeout will be reported in which partial scanning results will be returned to the user
- Minor API changes
- renamed
MBAustriaQrCodeRecognizer
toMBAustriaQrCodePaymentRecognizer
and fields in itsResult
:IBAN
toiban
BIC
tobic
referenceNumber
toreference
- renamed
MBGermanyQrCodeRecognizer
toMBGermanyQrCodePaymentRecognizer
and updated fields in itsResult
:authority
is returned asString
- renamed fields:
IBAN
toiban
BIC
tobic
paymentReference
toreference
BLZ
tobankCode
- added fields:
creditorId
dateOfSignature
displayData
formFunction
formType
formVersion
mandateId
periodicFirstExecutionDate
periodicLastExecutionDate
periodicTimeUnit
periodicTimeUnitRotation
postingKey
- renamed
MBKosovoCode128Recognizer
toMBKosovoCode128PaymentRecognizer
and updated fields in itsResult
:- removed
currency
field - renamed fields:
payerAccount
topayerAccountNumber
referenceNumber
toreference
slipID
toslipId
- removed
- removed
MBSerbiaIdFrontRecognizer
,MBSerbiaIdBackRecognizer
andMBSerbiaCombinedRecognizer
- fields that are not deprecated anymore:
- Sweden DL - reference number
- Ireland DL - driver number
- Malaysia iKad - passport number
- Hong Kong ID - commercial code
- deprecated the following methods in
MBUsdlRecognizerResult
andMBUsdlCombinedRecognizerResult
: (they have been replaced with new getters):- getField(UsdlKeys)
- optionalElements
- added new getters to following results:
MBUsdlRecognizerResult
andMBUsdlCombinedRecognizerResult
:firstName
lastName
fullName
address
documentNumber
sex
restrictions
endorsements
vehicleClass
dateOfBirth
dateOfIssue
dateOfExpiry
MBMrzResult
:sanitizedOpt1
sanitizedOpt2
sanitizedNationality
sanitizedIssuer
- renamed methods in the following recognizers and its results:
MBCzechiaCombinedRecognizer
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
address
topermanentStay
issuingAuthority
toauthority
personalIdentificationNumber
topersonalNumber
MBGermanyCombinedRecognizer
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
issuingAuthority
toauthority
eyeColor
tocolourOfEyes
MBJordanCombinedRecognizer
:issuer
toissuedBy
MBPolandCombinedRecognizer
:issuer
toissuedBy
MBRomaniaIdFrontRecognizer
:lastName
tosurname
cardNumber
todocumentNumber
fromMrzResult
parentNames
toparentName
nonMRZNationality
tonationality
nonMRZSex
tosex
validFrom
todateOfIssue
validUntil
todateOfExpiry
- removed field
idSeries
- removed field
cnp
- MRZ fields are available through
MBMrzResult
which can be obtained by usingmrzResult
property
MBSlovakiaCombinedRecognizer
:issuingAuthority
toissuedBy
personalIdentificationNumber
topersonalNumber
MBSloveniaIdFrontRecognizer
:lastName
tosurname
firstName
togivenNames
MBSloveniaIdBackRecognizer
:authority
toadministrativeUnit
- MRZ fields are available through
MBMrzResult
which can be obtained by usingmrzResult
property
MBSloveniaCombinedRecognizer
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
citizenship
tonationality
issuingAuthority
toadministrativeUnit
personalIdentificationNumber
topin
MBMrtdRecognizer
andMBMrtdCombinedRecognizer
do not return MRZ image any moreMBMrtdCombinedRecognizer
does not have glare detection options (it does not detect glare anymore)- replaced
MBPaymentCardFrontRecognizer
,MBPaymentCardBackRecognizer
andMBPaymentCardCombinedRecognizer
with single recognizer -MBBlinkCardRecognizer
- replaced
MBElitePaymentCardFrontRecognizer
,MBElitePaymentCardBackRecognizer
andMBElitePaymentCardCombinedRecognizer
with single recognizer -MBBlinkCardEliteRecognizer
- renamed
- Minor API changes
- renamed properties in
MBMalaysiaDlFrontRecognizerResult
:state
toownerState
zipCode
tozipcode
- renamed properties in
MBIndonesiaIdFrontRecognizerResult
:validUntil
todateOfExpiry
validUntilPermanent
todateOfExpiryPermanent
- renamed property in
MBSingaporeIdFrontRecognizerResult
:bloodType
tobloodGroup
- renamed property in
MBSingaporeCombinedRecognizerREsult
:bloodType
tobloodGroup
- renamed
MBMyTenteraRecognizer
toMBMalaysiaMyTenteraFrontRecognizer
- renamed
MBMyTenteraRecognizerResult
toMBMalaysiaMyTenteraFrontRecognizerResult
and propertiesnricNumber
tonric
ownerAddress
tofullAddress
ownerAddressCity
tocity
ownerAddressState
toownerState
ownerAddressZipCode
tozipcode
ownerAddressStreet
tostreet
ownerBirthDate
tobirthDate
and it is now of typeMBDateResult
ownerFullName
tofullName
ownerReligion
toreligion
ownerSex
tosex
- renamed properties in
MBGermanyIdFrontRecognizerResult
firstName
togivenNames
lastName
tosurname
dateOfBirth
adndateOfExpiry
are now of typeMBDateResult
- renamed
MBIkadRecognizer
toMBMalaysiaIkadFrontRecognizer
and methods in recognizer and itsResult
:expiryDate
todateOfExpiry
sex
togender
- renamed
MBMyKadFrontRecogniezer
toMBMalaysiaMyKadFrontRecognizer
and methods in recognizer and itsResult
:ownerFullName
tofullName
ownerAddress
tofullAddress
addressStreet
tostreet
ownerAddressZipCode
tozipcode
ownerAddressCity
tocity
ownerAddressState
toownerState
ownerBirthDate
tobirthDate
ownerSex
tosex
ownerReligion
toreligion
nricNumber
tonric
MBMalaysiaMyKadFrontRecognizer
does not extractarmyNumber
anymore, useMBMalaysiaMyTenteraFrontRecognizer
for scanningMyTentera
MBMrtdRecognizer
:- method
saveImageDPI
which has been used to set DPI for full document and MRZ image is replaced with methodsfullDocumentImageDpi
andmrzImageDpi
- method
- renamed methods in
MBSwitzerlandIdBackRecognizer
and itsResult
:nonMrzDateOfExpiry
todateOfExpiry
nonMrzSex
tosex
- renamed methods in
MBSwitzerlandPassportRecognizer
and itsResult
:placeOfBirth
toplaceOfOrigin
nonMrzDateOfBirth
todateOfBirth
nonMrzDateOfExpiry
todateOfExpiry
nonMrzSex
tosex
- removed
sex
andsignatureImage
properties fromMBMalaysiaMyKadBackRecognizer
- renamed properties in
MBCroatiaCombinedRecognizerResult
:identityCardNumber
todocumentNumber
address
toresidence
issuingAuthority
toissuedBy
personalIdentificationNumber
tooib
nonResident
todocumentForNonResident
- removed
mrzImage
fromMBMrtdCombinedRecognizer
andMBMrtdCombinedRecognizerResult
- renamed properties in
MBAustraliaDlFrontRecognizerResult
:name
tofullName
dateOfExpiry
tolicenceExpiry
- renamed
eyeColour
tocolourOfEyes
inMBGermanyIdBackRecognizerResult
- recognizers that are deprecated:
MBSerbiaIdBackRecognizer
andMBSerbiaIdBackRecognizerResult
MBSerbiaIdFrontRecognizer
andMBSerbiaIdFrontRecognizerResult
MBSerbiaCombinedRecognizer
andMBSerbiaCombinedRecognizerResult
- all properties that are deprecated for recognizers:
MBHongKongIdFrontRecognizerResult
:commercialCode
MBIndonesiaIdFrontRecognizerResult
:bloodType
district
kelDesa
rt
rw
MBNewZealandDlFrontRecognizerResult
:donorIndicator
cardVersion
MBMalaysiaMyKadBackRecognizerResult
:extendedNric
MBMexicoVoterIdFrontRecognizerResult
:electorKey
MBIrelandDlFrontRecognizerResult
:driverNumber
MBSwedenDlFrontRecognizerResult
:referenceNumber
MBMalaysiaIkadFrontRecognizerResult
:passportNumber
MBAustriaIdBackRecognizerResult
:principalResidence
height
eyeColour
MBAustriaPassportRecognizerResult
:height
MBGermanyIdBackRecognizerResult
:colourOfEyes
height
MBSwitzerlandIdBackRecognizerResult
:height
MBSwitzerlandPassportRecognizerResult
:height
MBSingaporeIdBackRecognizerResult
:bloodGroup
MBColombiaIdBackRecognizerResult
:bloodGroup
MBSwitzerlandPassportRecognizerResult
:height
MBPolandIdFrontRecognizerResult
:familyName
parentsGivenNames
MBMoroccoIdBackRecognizerResult
:fathersName
mothersName
MBRomaniaIdFrontRecognizerResult
:parentNames
- renamed properties in
- No changes
- No changes
- Minor API changes
- Renamed properties in
MBCroatiaIdBackRecognizerResult
:address
toresidence
documentForNonResident
toisDocumentForNonResident
issuingAuthority
toissuedBy
- MRZ fields are available through
MBMrzResult
which can be obtained by using propertymrzResult
- Renamed properties in
MBSingaporeIdFrontRecognizerResult
:cardNumber
toidentityCardNumber
- Renamed properties in
MBSingaporeCombinedRecognizerResult
:cardNumber
toidentityCardNumber
bloodGroup
tobloodType
- Renamed properties in
MBCroatiaIdFrontRecognizerResult
:identityCardNumber
todocumentNumber
- Renamed properties in
MBMalaysiaDlFrontRecognizer
:state
toownerState
zipCode
tozipcode
- Renamed properties in
MBIndonesiaIdFrontRecognizer
:validUntil
todateOfExpiry
validUntilPermanent
todateOfExpiryPermanent
isScanningUnsupportedForCameraType:
is now class method ofMBMicroblinkSDK
- Renamed properties in
Please check README and updated demo applications for more information, but the gist of it is:
- PPScanningViewController
has been renamed to MBRecognizerRunnerViewController
and MBCoordinator
to MBRecognizerRunner
- PPBarcodeOverlayViewController
has been renamed to MBBarcodeOverlayViewController
- previously internal MBRecognizer
objects are not internal anymore - instead of having opaque MBRecognizerSettings
and MBRecognizerResult
objects, you now have stateful MBRecognizer
object that contains its MBResult
within and mutates it while performing recognition. For more information, see README and updated demo applications
- introduced MBFieldByFieldOverlayViewController
that can be used for easy integration of the field-by-field scanning feature (previously known as segment scan)
- introduced MBDocumentVerificationController
that can be used for easy integration of ID verification scanning feature (previously available only in BlinkID AppStore app
- introduced MBProcessor
concept. For more information, check updated code samples, README and this blog post
- new licence format, which is not backward compatible. Full details are given in README and in updated applications, but the gist of it is:
- licence can now be provided with either file, byte array or base64-encoded bytes
- No changes
- No changes
- No changes
- Renamed
PPMyKadRecognizerSettings
andPPMyKadRecognizerResult
toPPMyKadFrontRecognizerSettings
andPPMyKadFrontRecognizerResult
- No changes
- Removed
imageDPI
property onPPTemplatingRecognizerSettings
PPDocumentDetectorResult
does not contain information about screen orientation any more
- No changes
- There is no more option in PPUsdlRecognizerSettings to scan 1D barcodes. Previously this setting did nothing - it's OK to just delete the setter call if you use it.
PPBlinkOcrRecognizerResult
andPPBlinkOcrRecognizerSettings
are now deprecated. UsePPDetectorRecognizerResult
andPPDetectorRecognizerSettings
for templating orPPBlinkInputRecognizerResult
andPPBlinkInputRecognizerSettings
for segment scanPPSerbianPdf417RecognizerResult
andPPSerbianPdf417RecognizerSettings
are renamed toPPSerbianBarcodeRecognizerResult
andPPSerbianBarcodeRecognizerSettings
extractAddress
property inPPSlovakIDBackRecognizerSettings
is now removed since previously wasn't use
PPAztecRecognizerResult
andPPAztecRecognizerSettings
are now deprecated. UsePPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
PPBarDecoderRecognizerResult
andPPBarDecoderRecognizerSettings
are now deprecated. UsePPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
PPZXingRecognizerResult
andPPZXingRecognizerSettings
are now deprecated. UsePPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
- No changes
- No changes
-
Since Microblink.framework is a dynamic framework, you also need to add it to embedded binaries section in General settings of your target.
-
Library size was reduced by removing all unnecessary components. One of the components removed was internal libz library. You now need to add libz.tbd into "Linked frameworks and binaries" setting.
-
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.
Ideal solution is to add a build phase after embed frameworks build phase, which strips unused slices from embedded frameworks.
Build step is based on the one provided here: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
- Deprecated
PPHelpDisplayMode
. It still works, but ideally, you should replace it with a custom logic for presenting help inside the application using the SDK. - Simplified
PPOcrLayout
class (removed properties which were not used). If you used it previously, simply remove that code because it does not provide any value. - If you're using PPGermanIDMrzRecognizer, it's functionality is now split into two recognizers:
- one for back side of the new ID (PPGermanIDBackRecognizer)
- one for front side of the old ID (PPGermanOldIDRecognizer)
- No changes
- No changes
- If you used
payerAddress
andrecipientAddress
properties inPPSloQrCodeRecognizerResult
, those properties are now split intopayerStreet
,payerPlace
,recipientStreet
andrecipientPlace
. - If you used
accountNumber
property inPPSkSlipRecognizerResult
, this property can now be replaced byiban
property
- If you're using PPSingaporeIdRecognizer, you should now decide which side of the ID you want to use, and use either PPSingaporeIDBackRecognizer, or PPSingaporeIDFrontRecognizer
PPMobileCouponsOcrParserFactory
changed name toPPTopUpOcrParserFactory
- No changes
- No changes
- No changes
PPMrtdRecognizerResult
now returnsNSDate
in methodsdateOfBirth
anddateOfExpiry
. PreviouslyNSString
was returned and user had to parse the string to get the date. If you want old behaviour, use methodsrawDateOfBirth
andrawDateOfExpiry
which will return strings in same format as in previous versions.- this also applies for all recognizer results that inherit
PPMrtdRecognizerResult
- although
PPDateOcrParser
now returnsPPDateResult
object (which contains bothNSDate
and originalNSString
from which date was parsed), when obtaining parser result viaparserResultForName:
orparserResultForName:parserGroup:
methods, you will be provided with string just like in previous versions. If you wantNSDate
, you should use methodsspecificParsedResultForName:
orspecificParsedResultForName:parserGroup:
and castNSObject
they return intoNSDate
. - all recognizer results (classes that derive
PPRecognizerResult
) now have annotated nullability for their getters. Some of them used to assume non-null, while still returningnil
sometimes. This has now been corrected and all getters are_Nullable
- No changes
- No changes
- No changes
- No changes
- No changes
- No changes
PPCameraCoordinator
now assumes the role ofPPCoordinator
. If you do not use your own camera management or Direct API you can rename all instances ofPPCoordinator
toPPCameraCoordinator
PPCoordinator
methodcameraViewControllerWithDelegate:
has been removed. To createPPScanningViewControllers
you can now use[PPViewControllerFactory cameraViewControllerWithDelegate: coordinator: error:]
- Direct API is now located in
PPCoordinator
. To process image use 'processImage:' method and be sure to set 'PPCoordinatorDelegate' when creating 'PPCoordinator' to recieve scanning results and events. You can se processing image roi and processing orientation on 'PPImage' object. - Methods of 'PPOverlayContainerViewController' protocol should now be called after camera view has appeared.
- Removed PPOcrEngineOptions property from PPRegexOcrParserFactory and PPRawOcrParserFactory. Replaced property with setter method.
- No changes
-
Renamed
PPOcrRecognizerSettings
andPPOcrRecognizerResult
toPPBlinkOcrRecognizerSettings
andPPBlinkOcrRecognizerResult
respectively -
Changed interface of some Detector API methods
-
PPDocumentDecodingInfoEntry
renamed toPPDecodingInfo
-
Removed
PPDocumentDecodingInfo
. All occurances need to be replaced withNSArray<PPDecodingInfo>
- If you implement custom camera UI and handle
cameraViewController:didFindLocation:withStatus
, this method was changed tocameraViewController:didFinishDetectionWithResult:
.PPDetectorResult
object now contains all information previosusly passed to this method. Simply update the code to use the new method signature. Verify the exact type of the passed detectorResult object, cast it to this class, and use provided getters to obtain all information.
- PPOverlayViewController changed the way Overlay Subviews are added to the view hierarchy. Instead of calling
addOverlaySubview:
(which automatically added a view to view hierarachy), you now need to callregisterOverlaySubview:
(which registers subview for scanning events), and manually add subview to view hierarchy usingaddSubview:
method. This change gives you more flexibility for adding views and managing autolayout and autoresizing masks. So, replace all calls to (assuming self is aPPOverlayViewController
instance)
[self addOverlaySubview:subview];
with
[self registerOverlaySubview:subview];
[self.view addSubview:subview];
- Localization Macros MB_LOCALIZED and MB_LOCALIZED_FORMAT can now be overriden in your app to provide completely custom localization mechanisms.
- No changes
-
Remove MicroBlinkResources.bundle and add MicroBlink.bundle.
-
If you use
PPMetadataSettings
objects,successfulScanFrame
property replace withsuccessfulFrame
currentVideoFrame
property replace withcurrentFrame
-
Remove the old .embeddedframework package completely from your project
-
Add new .framework and .bundle package to your project. Verify that Framework search path really contains a path to the .framework folder.
-
If necessary, add all required system frameworks and libraries:
- libc++.tbd
- libiconv.tbd
- AVFoundation.framework
- AudioToolbox.framework
- CoreMedia.framework
- AssetsLibrary.framework
- Accelerate.framework
-
If you previously used built-in onboarding (help) screens, since they are moved outside the SDK, you need to re-add it to your project. You can do that by overriding the method :
- (void)scanningViewControllerWillPresentHelp:(UIViewController<PPScanningViewController> *)scanningViewController
In the implementation, presenting the Onboarding screens. Default implementation which is provided in the Sample app for your country / use case. We recommend you use provided help screens - just drag & drop the classes, storyboard and xcassets files in your project.
- You can now use bitcode = YES in your build settings.
- PhotoPayHelpViewController.nib resource was renamed to PhotoPayHelpViewController.xib. This allows it to be open with new Xcode versions (Xcode 7)
-
rotatedImage
property ofPPImageMetadata
no longer exists. Useimage
property instead, it correctly handles rotation. -
The ability to use native iOS orientation handling features is now added.
PPScanningViewController
now has propertiesautorotate
andsupportedOrientations
. ScanningViewController uses these properties in the implementation of standard iOS rotation handling methods:shouldAutorotate
andsupportedInterfaceOrientations
.
If you use autorotation with the new features, make sure you disable autorotation of the overlay using settings.uiSettings.autorotateOverlay = NO
- No changes
- No changes
-
This version uses a new license key format. If you had a license key generated prior to v4.0.1, contact us so we can regenerate the license key for you.
-
PPCoordinator
class now exposes fewer public methods and properties. -
PPScanningViewController
's methodsresumeScanning
andresumeScanningWithoutStateReset
merged into oneresumeScanningAndResetState:
. - All calls toresumeScanning
replace withresumeScanningAndResetState:YES
. - All calls toresumeScanningWithoutStateReset
replace withresumeScanningAndResetState:NO
-
Classes representing scanning results were renamed. Renaming was performed to match naming convention of
PPRecognizerSettings
hierarcy: now eachPPRecognizerSettings
class has it's matchingPPRecognizerResult
. Replace all existing references to old class names with the new ones:-
PPBaseResult
was renamed toPPRecognizerResult
. -
PPOcrScanResult
was renamed toPPOcrRecognizerResult
, this is the result of a recognizer whose settings are given withPPOcrRecognizerSettings.
-
PPCroResult
renamed toPPCroRecognizerResult
. This is a common superclass toPPCroSlipRecognizerResult
,PPCroPdf417RecognizerResult
andPPCroQrRecognizerResult
. -
PPCroSlipResult
renamed toPPCroSlipRecognizerResult
, this is the result of a recognizer whose settings are given withPPCroSlipRecognizerSettings.
-
PPCroBarcodeResult
renamed toPPCroPdf417RecognizerResult
, this is the result of a recognizer whose settings are given withPPCroPdf417RecognizerSettings.
-
Introduced
PPCroQrRecognizerResult
, this is the result of a recognizer whose settings are given withPPCroQrRecognizerSettings.
-
-
PPOcrResult
(class representing a result of the OCR process, with individual characters, lines and blocks), was renamed toPPOcrLayout
. Name change was introduced to further distinguish the class fromPPRecognizerResult
classes. -
Remove all references to
updateScanningRegion
method since it's now being called automatically insetScanningRegion setter
.
-
Framework was renamed to MicroBlink.embeddedframework. Remove the existing .embeddedframwork package from your project, and drag&drop MicroBlink.embeddedframework in the project explored of your Xcode project.
-
If necessary, after the update, modify your framework search path so that it points to the MicroBlink.embeddedframework folder.
-
Main header of the framework was renamed to
<MicroBlink/Microblink.h>
. 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. -
Remove all references to
updateScanningRegion
method since it's now being called automatically insetScanningRegion setter
. -
Retrieving results has changed. Consult guides in Docs/ especially those with prefix 01.