Releases: blinkinput/blinkinput-ios
Releases · blinkinput/blinkinput-ios
v5.0.0
BlinkInput v5 Release Announcement
As of this version, BlinkInput SDK is fully compatible with other Microblink SDKs, which means that you can use it with other Microblink SDKs in the same application.
New features:
- We have full support for Apple Silicon!
Cocapods support change:
- We are updating our Cocoapods with
.xcframework
format from now on. Please download Cocoapods 1.10.0 or newer to use our SDK.
Major API changes:
- To ensure compatibilty with other Microblink SDKs, we have reprefixed all classes. All classes have
MBI
prefix instead ofMB
- We have renamed framework from
Microblink
toBlinkInput
- We added error callback when setting license keys on
MBIMicroblinkSDK
- You will be getting error callback and reason why you could not unlock SDK - see
MBILicenseError
- You will be getting error callback and reason why you could not unlock SDK - see
- We moved all resources inside framework, we are not shipping bundle anymore.
Minor API changes:
- We renamed
MBRecogitionMode
toMBIRecognitionDebugMode
inMBIRecognizerCollection
. - Swift:
- We renamed all
sharedInstance
toshared
- All enums are now
Int
- All
unsigned integers
are nowInt
- We renamed all
- We've replaced
Using time-limited license!
warning withUsing trial license!
warning. The warning message is displayed when using a trial license key. - We've deprecated
MBDetectorRecognizer
— useMBIDocumentCaptureRecognizer
instead. - We've deprecated
MBPdf417Recognizer
— useMBIBarcodeRecognizer
instead.
Bug fixes:
- We've fixed a bug in IBAN parsing which occasionally read the reference number as part of the IBAN.
v4.3.0
New features:
- Introducing support for new framework format - XCFramework:
- it contains all the necessary device and simulator architecture slices
- no neeed to remove simulator slices before distributing your app to the App Store as described here
- for now, only available from this repo, not available on Cocoapods
- We improved document detection with
MBDocumentCaptureRecognizer
- Added presets for camera - Preset1080p, and 4K; Optimal always chooses the highest quality
- We are now delivering the complete list of open source dependencies used in the SDK. Please check the
open-source-software-used
directory
Bug fixes:
- Large memory consumption is due to 4K video session on all 4K eligible iPhones; we introduced new camera presets 1080p and 4K, so to reduce your app memory consumption set camera preset on 1080p or 720p
v4.2.0
New features:
- We added the option to disable Microblink logs in the console output. Use
MBLogger
class and conform toMBLoggerDelegate
inAppDelegate
. To disable logs, implement delegate method- (void)log:(MBLogLevel)level format:(const char *)format arguments:(va_list)arguments
. Be careful with this option. We need full log outputs from the application for support purposes. In case of having problems with scanning certain items, undesired behavior on the specific device(s), crashes inside the SDK, or anything unmentioned, we will need a full log from your side. If you disable Microblink logging, you won't be able to provide us this information. Hence support might be limited. - added support for capturing cropped images (without data extraction) of documents of any format:
- use
MBDocumentCaptureRecognizer
andMBDocumentCaptureOverlaySettings
- use
MBDocumentCaptureOverlayViewController
, which is designed for taking high resolution document images and guides the user through the image capturing process. It can be used only withMBDocumentCaptureRecognizer
- use
Improvements:
- improved
VinParser
:- added support for Renewal Identification Number (RIN) - DMV California format
- all 4K iPhones now use 4K resolution as default
Minor API changes:
- methods
pauseScanning
andresumeScanningAndResetState
inMBRecognizerRunnerViewController
do not return anymore BOOL- use
isScanningPaused
to check if scanning is paused
- use
- Swift Module has been renamed from
MicroBlink
toMicroblink
Bug fixes:
- fixed
Torch
activation for all iOS versions - fixed OpenGL code which was fragile and sensitive to crashes if used from multiple threads
- fixed issue where recognizer's result state would not be the same as recognizer's runner state after finished scanning
- fixed issue when pressing immediately close button on overlay view controllers would freeze for couple of seconds SDK
v4.1.0
-
Updates and additions
- 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 throughMBOverlaySettings
. - Added support for checking if scanning is unsupported for camera type on
MBRecognizerRunnerViewController
- Added
reconfigureRecognizers
method toMBBaseOverlayViewController
, 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 ofMBMicroblinkSDK
v4.0.0
- new API, which is not backward compatible. Please check README and updated demo applications for more information, but the gist of it is:
PPScanningViewController
has been renamed toMBRecognizerRunnerViewController
andMBCoordinator
toMBRecognizerRunner
PPBarcodeOverlayViewController
has been renamed toMBBarcodeOverlayViewController
- previously internal
MBRecognizer
objects are not internal anymore - instead of having opaqueMBRecognizerSettings
andMBRecognizerResult
objects, you now have statefulMBRecognizer
object that contains itsMBResult
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
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
v2.3.0
-
Updates and additions:
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
- isolation of code
- smaller binary size
- better interop with third party libraries (such as Asseco SEE Mobile Token)
- improved Screen shown when Camera permission is not granted:
- fixed crash which happened on tap anywhere on screen
- close button can now be removed (for example, if the scanning screen is inside
UINavigationController
instance) - header is now public so you can instantiate that class if needed
- updated
PPUiSettings
with new features:- flag
showStatusBar
which you can use to show or hide status bar on camera screen - flag
showCloseButton
which you can use to show or hide close button on camera screen. By default it's presented, but when insideUINavigationController
it should be hidden - flag
showTorchButton
which you can use to show or hide torch button on camera screen.
- flag
- deprecated
PPHelpDisplayMode
. You should replace it with a custom logic for presenting help inside the application using the SDK. - renamed internal extension method with namespace so that they don't interfere with third party libraries
- added standard tap to focus overlay subview in all default OverlayViewControllers. Also added it as a public header.
PScanningViewController
now has a simple method to turn on torch- simplified
PPOcrLayout
class (removed properties which were not used) - internal switch to new build system using cmake. This allows faster deployments and easier updates in the future
- added support for hungarian parsers in segment scan
- account number parser
- payer ID parser
- added support for slovenian parsers in segment scan
- reference parser
- 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
- added support for scanning IBANs that contain spaces and dashes
- added support for scanning IBAN from Georgia in Segment Scan
- added Belgian account number check to IBAN parser
- added Slovak Data Matrix codes
- added property
allowResultForEveryFrame
inPPScanSettings
which can be used when using Direct API to force callingdidOutputResults:
callback for every frame - added feature to enable frame quality estimation when using Direct API (by exposing property
estimateFrameQuality
) - added logging of the SDK name when the license key is invalid for easier troubleshooting
- added a property which you can use to set a custom location for resources. For example, if you would like to avoid using Microblink.bundle as resources bundle, you can set a different one in PPSettings object
- added
PPSimNumberRecognizer
- added Generic parsing in TopUpOcrParser
- added designated initializers to all
PPOcrParserFactory
objects - added play success sound method to
PPScanningViewController
protocol - added Barcode Recognizer
PPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
- deprecated
PPBarDecoderRecognizerResult
andPPBarDecoderRecognizerSettings
. Use Barcode Recognizer - deprecated
PPZXingRecognizerResult
andPPZXingRecognizerSettings
. Use Barcode Recognizer PPBlinkOcrRecognizerResult
andPPBlinkOcrRecognizerSettings
are now deprecated. UsePPDetectorRecognizerResult
andPPDetectorRecognizerSettings
for templating orPPBlinkInputRecognizerResult
andPPBlinkInputRecognizerSettings
for segment scan- added reading of mirrored QR codes
- introduced
GlareDetector
which is by default used in all recognizers whose settings implementGlareDetectorOptions
:- when glare is detected, OCR will not be performed on the affected document position to prevent errors in the extracted data
- if the glare detector is used and obtaining of glare metadata is enabled in
MetadataSettings
- glare detector can be disabled by using
detectGlare
property on the recognizer settings
- added
PPQuadDetectorResultWithSize
which inherits existingPPQuadDetectorResult
- it's subclasses are
PPDocumentDetectorResult
andPPMrtdDetectorResult
- returns information about physical size (height) in inches of the detected location when physical size is known
- it's subclasses are
CFBundleShortVersionString
is now updated with each release
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
-
Bugfixes:
- fixed frame quality issue in PPimageMetadata. Previously it was always nan if used after image getter
- fixed Torch button on default camera overlays. Previously it never changed state after it was turned on
- Fixed crash when the user tapped anywhere on the view controller presented when camera permission wasn't allowed
- fixed warning message when language is set to something other than @en, @de and @fr and @cro
- fixed crash on start in swift if custom UI was used to handle detector results
- fixed a problem which caused internal recognizer state not to be reset when using the scanner for the second time with the same PPCoordinator instance
- fixed ocrLayout getter in PPBlinkOcrRecognizer which previously returned nil
- fixed an issue which caused camera settings to be reset each time PPCoordinator's applySettings method was called. This issue manifested, for example, by automatically turning off torch after successful scan in SegmentScan
- fixed redundant log warnings in setting language ("Trying to set language to nil, returning") and CameraManager ("Should not have been observing autofocus")
- fixed issue with resuming camera when user is first asked for camera permission. This manifested as sometimes camera going black
- fixed issue with blurred camera display when
PPCoordinator
instance was reused between consecutive scanning sessions - fixed crashed which happened when multiple instances of
PPCoordinator
were used simultaneously (one being terminated and one starting recognition). This most commonly happened when after scanning session, a new view controller was pushed to a Navigation View Controller, when the user repeated the procedure a number of times (five or more). - fixed issue with Direct API which disabled processing
- fixed crash when multiple QR code-based recognizers were used together
- fixed bug which caused didOutputResults: not to get called in DirectAPI
- fixed case sensitivity in class & file naming
- fixed issue which sometimes caused scanning not to be started when the user is asked for camera permission (first run of the app)
- fixed rare crash which Camera paused label UI being updated on background thread
- fixed incorrect handling of camera mirror when using front facing camera
- fixed crash which sometimes happened when presenting help screens (if
PPHelpDisplayModeAlways
orPPHelpDisplayModeFirstRun
were used) - fixed crash in QR code which happened periodically in all recognizers
- fixed autorotation of overlay view controller
- fixed scanning return result type of
PPDetectorRecognizerSettings
when initialized withPPMrtdDetectorSettings
- returningPPMrtdDetectorResult
-
Improvements in ID scanning performance:
- improved IBAN parser
- improved amount parser
- improved Croatian Reference number parsing:
- trailing whitespace is removed from result when using Segment scanning
- improved
TopUpParser
: added option to enable all prefixes at the same time (generic prefix) - added suport for 14 digits long sim numbers in addition to existing lengths (12, 19, 20)
- TopUp scanning improvements
- improved reading of pdf417 barcodes having width:height bar aspect ratio less than 2:1
- date parsing improvements
- added parsing of curly brackets
-
Changes in Samples:
- added libz to all samples to prevent linker errors (caused by slimming down the SDK)
- samples updated to use new dynamic framework
- added a build phase in each sample which removes unused architectures from the dynamic framework
- samples updated for XCode 9
- all Swift samples are updated to Swift 4
v2.2.0
v2.1.2
- iOS fixes:
- CFBundleSUpportedPlatforms removed from Info.plist files
- Applying affine transformation to
PPQuadrangle
now correctly assigns points. - When using both Direct API and
PPCameraCoordinator
, scanning results will now be correctly outputted toPPCoordinatorDelegate
andPPScanningDelegate
respectively - Fixed crashes related to camera permissions and added dummy view when camera permission is disabled
- Fixed issues related to topLayoutGuide on iOS6
- Improved performance of Date parser