SDK Migration Guides
Version 4.47.0
New Features
-
Plugin Added: A new plugin
DocumentCaptureGlareDetecthas been introduced.-
CocoaPods Setup: This plugin is enabled by default.
To disable it, update your
Podfilewith the appropriate configuration:For
biometry-documentvariant:Ruby1pod 'BiometricSDK/Framework'For
documentvariant:Ruby1pod 'BiometricSDK-document/Framework' -
Manual Setup: Add the following framework to your target:
Language not specified1BiometricSDKDocumentCapturePluginGlareDetect.xcframework
-
API Changes
-
Removed:
- Class
BIOTorchhas been removed from the API. - Parameter
alivehas been removed fromBIOImage.
- Class
-
Matcher Handler: The following setter methods have been marked as unavailable. Using them will result in compilation errors:
BIOTemplatesetBuffersetUuid
BIOAuthenticationResultsetScoresetMatchesSuccessfully
BIOIdentificationResultsetCandidates
BIOMatchingCandidatesetUUIDsetScore
-
Finger:
- Property
fullCaptureTimeinFingerCaptureOptionsis now marked as unavailable. Its usage will generate a compilation error.
- Property
Version 4.46.0
- Providing
nilasuiSettingsparameter inFaceCaptureView.setup()method results in not using IDEMIA UI and the integrator has to use use case delegates to handle provide custom UI. To continue using IDEMIA UI, provideUISettingsobject inFaceCaptureView.setup()method.
Version 4.45.0
- Usages of
[FingerCaptureHandlerDelegate capturedFingers:withResult:withError:]method shall be updated to the new variant, which includesimagesToDisplayargument. Values frommatchingImagesargument shall remain used for matching, but for display purposes,imagesToDisplaycan be used. - The properties:
integrity,sharpness,reflections,lightingandbadFraminghave been removed fromDocumentImageQualityIndicators. - Important The activation error
licenseSignatureVerificationFailedin LKMS has been removed. If there is a switch between app builds (Development or App Store), theLicenseManagerwill automatically resolve the license issue by reactivating it.
Version v4.44.0
- The activation LKMS license now can return new error
licenseSignatureVerificationFailedif integrators switch between debug and App Store (also TestFlight) builds of their app. - The
qualityScoreparameter in theFingerCaptureResulthas been marked as unavailable and will be removed in version 4.45.0, as the quality metrics are not yet mature enough to be used. - The
fullCaptureTimemethod in theFingerCaptureHandlerhas been deprecated and will be removed in version 4.47.0. This method returns the same value ascaptureTimeoutin theFingerCaptureOptions. - The process of acquiring fingerprints becomes significantly quicker, which has some implications. For example:
- The
fullCaptureTime, previously considered the duration of finger acquisition, is no longer constant. As a result, UI components similar to progress bars are no longer relevant. - The
captureTimeoutonly restricts the maximum duration of the capture. At the end of this period, the fingers can still be returned with satisfactory quality.
- The
- New matching algorithm F6_5_LOW70 plugin is available and it is the default one. When switching algorithm all templates generated by previous algorithm must be re-generated from origin images by using
BIOMatcherHandler.detectBiometrics()method. - Use
RemoteCaptureDelegates.livenessProcessingDelegateto register for updates on metadata upload progress. - Torch manipulation becomes obsolete
BIOTorchand its supporting types and methods are obsolete. They will generate compilation error.[FaceCaptureOptions initWithLivenessMode:withCamera:witchTorch:withOverlay:withTimeout:]is obsolete and will generate compilation error. Use[FaceCaptureOptions initWithLivenessMode:withCamera:withOverlay:withTimeout:]instead.FaceCaptureOptions.torchis obsolete and will generate compilation error.[RemoteFaceCaptureOptions initWithLivenessMode:serverCertificates:withCamera:witchTorch:withOverlay:withTimeout:]is obsolete and will generate compilation error. Use[RemoteFaceCaptureOptions initWithLivenessMode:serverCertificates:withCamera:withOverlay:withTimeout:]instead.RemoteFaceCaptureOptions.torchis obsolete and will generate compilation error.[DocumentCaptureOptions initWithMode:withCamera:witchTorch:withOverlay:withTimeout:]is obsolete and will generate compilation error. Use[DocumentCaptureOptions initWithMode:withCamera:withOverlay:withTimeout:]instead.[BIOGenericCaptureHandler setTorch:withError:]is obsolete and will generate compilation error.
NFCReader v2.1.0
- UI library
BiometricSDKUITutorialwas renamed toNFCReaderTutorialView- rename dependency in the Podfile
pod 'BiometricSDKUITutorial'topod 'NFCReaderTutorialView' - rename imports in the swift files to
import NFCReaderTutorialView
- rename dependency in the Podfile
Version v4.43.0
RemoteUseCase.timeoutDelegate(in Document modality) is a new delegate that notifes about a timeout, returning best image that was captured. The image, together with quality indicators, can be used to explain to the end user, why the capture have failed.FaceRemoteErrorwas removed as unused public type.[BIOMode initWithCamera:witchTorch:withOverlay:withTimeout:]is obsolete and will generate compilation error. Please replace with method suggested by error message.BIOLicenseManagerwas removed.BIOLicensewas removed.BIOLicenseErrorwas removed.BIOLicenseOptionswas removed.[BIOSDK createDocumentCaptureHandler:withCompletionHandler:]was removed.DocumentImage.integrityPercentage,.sharpnessPercentage,.integrityPercentagewere removed.[BIOImage compressImageWithQuality:]was removed.[BIOImage compressImageToSizeInKilobytes:]was removed.[BIOImage compressImageToWSQRatio:]was removed.[BIOImage compressImageToJPEG2000InKilobytes:]was removed.
Maven support deprecated
Support for downloading the SDK with Maven is now deprecated and will be removed in CaptureSDK 4.46.0. We recommend downloading the SDK directly from Artifactory or by using Cocoapods with cocoapods-art pluging (see "Project Configuration" in the Integration Guide).
Version v4.42.0
- BiometricSDK requires iOS 15.0 or higher as a deployment target. If your deployment target is lower, please set it to iOS 15.0 or use
if #available(iOS 15.0, *)expression for BiometricSDK import and API calls. DocumentImageQualityIndicators.integrity,.sharpness,.reflectionsand.lighting(plus their coresponding types) are deprecated. Please, replace these properties with new ones suggested in warning messages.DocumentCaptureOptions.feedbackSamplingTimehas a default value of 2 seconds. If you want to manage feedback throttle on your own, you can set this value to 0 to get feedback value for every frame.BIOLicenseManager,BIOLicenseand other license managment helper types are obsolete and will generate compilation error. Please migrate toLicenseManager.[BIOSDK createDocumentCaptureHandler:withCompletionHandler:]is obsolete and will generate compilation error. Please replace with method suggested by error message.[BIOImage compressImageWithQuality:]is obsolete and will generate compilation error. Please replace with method suggested by error message.[BIOImage compressImageToSizeInKilobytes:]is obsolete and will generate compilation error. Please replace with method suggested by error message.[BIOImage compressImageToWSQRatio:]is obsolete and will generate compilation error. Please replace with method suggested by error message.[BIOImage compressImageToJPEG2000InKilobytes:]is obsolete and will generate compilation error. Please replace with method suggested by error message.
NFC Reader version 2.0.0
- NFC Reader requires iOS 15.0 or higher as a deployment target.
- This NFC Reader release is compatible with previous releases and does not require any migration steps.
Version v4.41.1
- This SDK release is compatible with previous releases and does not require any migration steps.
NFC Reader version 1.2.2
Configuration.sdkExperience is no longer a required field for TutorialProvider and MissingSdkExperienceConfigurationError error no loger exists. This means, that any error handling for this case should be removed. TutorialProvider will fall back to local configuration if sdkExperience is missing. Integrators who want to avoid this effect, need to check for sdkExperience presence on their own, before accessing SmartNFCReader.tutorialProvider.
Version v4.41.0
This release doesn't require any migration steps, but integrators need to prepare for the following changes:
- iOS 12 and 13 are no longer supported. This is soft deprecation, meaning the SDK can still be integrated into projects with iOS 12 deployment target, but is no longer tested for compatibility on versions older than iOS 14. Next minor release will make this a hard requirement.
DocumentCaptureHandlerAPI has been marked as deprecated with no timeline of removal. This legacy API still works and is maintained, but integrators are strongly encouraged to migrate to tue new use case based API (seeDocumentCaptureView).FaceCaptureHandlerAPI has been marked as deprecated with no timeline of removal. This legacy API still works and is maintained, but integrators are strongly encouraged to migrate to the new use case based API (seeFaceCaptureView).
NFC Reader version 1.2.1
- To enable on-premise deliveries use of
TutorialProvider, the backend component SDK Experience configuration has been added to NFCReader'sConfiguration.- In order to use
TutorialProvider, fieldsdkExperienceinConfigurationmust be set.- In case of using default environment (EU PROD) it is fine to use default values provided in
SDKExperienceinitializer and NFCServer api key. - Otherwise all
SDKExperienceparameters must be specified by integrator.
- In case of using default environment (EU PROD) it is fine to use default values provided in
- Since
tutorialProviderinNFCReaderthrows now error ifSDKExperienceis not provided in configuration, it must be handled in integrator's code.
- In order to use
Version v4.40.0
-
Due to the adjustment of
minDPIvalue fromDocumentCaptureOptionsthis value should not be set up by integrator. ⚠️ Please remove adjustingminDPIvalue from your configuration. -
Due to removing delegates method from
FingerCaptureHandlerDelegate:(void)capturedFingers:(NSArray<BIOImage *> * _Nullable)images withError: (NSError * _Nullable)error(void)capturedFingers:(NSArray<BIOImage *> * _Nullable)images withLivenessResult:(BIOLivenessResult * _Nullable)livenessResult withError:(NSError * _Nullable)error(void)capturedFingers:(NSArray<BIOImage *> * _Nullable)images withCaptureInfo:(BIOFingerCaptureInfo * _Nullable)captureInfo withError:(NSError * _Nullable)error- please use this method ⚠️:
(void)capturedFingers:(NSArray<BIOImage *> * _Nullable)images withCaptureInfo:(BIOFingerCaptureInfo * _Nullable)captureInfo withError:(NSError * _Nullable)error
-
Due to the deprecation of
sharpnessPercentage,integrityPercentage,qualityReflectionin theDocumentImage:- Please use
userInfodictionary fromNSErrorwith key:BIOCapturingErrorUserInfoKeyDocumentImageQualityIndicators. The returned value type isDocumentImageQualityIndicators. userInfovalues are avalaible only whencodeModeisBIOCodedModeTimeout.- The percentage values was replaced by enums:
DocumentImageIntegrityDocumentImageSharpnessDocumentImageReflectionsDocumentImageLighting
- See DocumentImageQualityIndicators in integration guide.
- Parameters deprecated in
DocumentImagewill become obsolete in SDK version 4.43.0. - NOTE ⚠️ If the document is caught before the timeout, it means that all indicators are OK.
- Please use
Version v4.39.1
- Due to the deprecation of
BIOLicenseManager:- Replace usages of
BIOLicenseManager()withLicenseManager.provideLicenseManager() - Replace usages of
BIOLicenseManager.activateWithOptions()withLicenseManager.activate() - Any other usages of
BIOLicenseManagerneed to be removed. Only the methodactivatefrom newLicenseManageris needed. This method fetches, validates and activates the license if necessary.
- Replace usages of
- Newly added
invalidLicensecase inCaptureErrorType(New document capture API) andErrorType(New face and finger capture APIs) should be handled.
Version v4.39.0
The version has been omitted.
Version v4.38.0
- Ensure bitcode support is disabled in Project settings -> app target -> Build settings -> Enable bitcode (set to NO).
- Usages of
DistanceIndicatorSettingsfromBiometricSDKUIFingermodule should be changed toDistanceIndicatorUISettings. - Instead of passing
DistanceIndicatorSettingstoFingerCaptureView.start(with:duration:)method (fromBiometricSDKUIFinger), it should be now set inFingerCaptureUISettingsand passed toFingerCaptureView.configureUI(using:). AlsoFingerCaptureView.start(with:)should be called.
Version v4.37.0
BIOFingerCaptureInfois now deprecated and will be removed in SDK version 4.40.0. All its usages should be replaced withFingerCaptureResult. This includes also replacement ofcaptureFingers:withCaptureInfo:withErrortocaptureFingers:withResult:withErrorinFingerCaptureHandlerDelegateimplementation.BIOTrackingInfois now deprecated and will be removed in SDK version 4.40.0. All its usages should be replaced withFingerTrackingInfo. This includes also replacement ofcaptureTracking:withErrortofingerCaptureReceivedTrackingInfo:withErrorinFingerCaptureHandlerDelegateimplementation.FingerCaptureOptions.maxNumberOfCapturesis now deprecated and will be removed in SDK version 4.40.0. The default value (2) will be used later on.
Version v4.36.0
-
This SDK release is compatible with previous releases and does not require any migration steps.
-
This version introduced a new feature for remote face capture functionality. Once a face image has been captured and sent as a metadata to the backend for processing, it is now possible to download face image and display it in the user interface. To fetch the image, the IPV library must be used. Within this library, IPVManager must be instantiated with the appropriate parameters: API key, host URL, and identity ID. Once the IPVManager is instantiated, it can be used to check the liveness status and fetch the face image for a specified identity ID. It is adviced to go to
FaceSampleAppLitesources to check the implementation details.
Version v4.35.1
[RemoteFaceCaptureHandlerDelegate captureFinishedWithEncryptedMetadata:withFaceImage:]changes type offaceImagefromNSDatatoBIOFaceImage. Please update your delegate implementation to handle the new type.
Version v4.35.0
What is Needed?
The iOS project that has been integrated with the Capture SDK version 4.34.+.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality. Changes released in Capture SDK version 4.34.+ require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version. Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- In new version of SDK, UIExtensions is included in it. Depedencies of extensions should be removed.
- In new document part API: CaptureView has been changed to DocumentCaptureView.
- For face capture mode cr2d change
FaceCaptureLivenessModeHightoFaceCaptureLivenessModeActive FaceCaptureLivenessModeMediumhas been removed, integrator should useFaceCaptureLivenessModePassiveinstead.- All
FaceLivenessSecurityLevelVeryHigh(0-8)security levels has been removed, integrator should useFaceLivenessSecurityLevelHighinstead.
Version 4.34.3
- This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.34.2
- This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.34.1
- This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.34.0
Finger:
- The
BIOTrackingInfo'sbiometricLocationandbiometricModalityhas been removed. TheBIOTrackingInfois used for fingers tracking in a callback:FingerCaptureHandlerDelegate#captureTracking:withError: - The
BIOLivenessResult'sscoreparameter has been removed.BIOLivenessResultis returned on the fingers scanning result inBIOFingerCaptureInfoofFingerCaptureHandlerDelegate#capturedFingers:withCaptureInfo:withError:
Version 4.33.0
Finger:
-
For finger capture, it is not recommended to disable 'torch' in capture options. 'Torch' property is now deprecated and will be removed in SDK version 4.36.0,
-
Torch setting in
FingerCaptureOptionsshould stay always on.
Version 4.32.0
Face:
FaceLivenessSecurityLevelVeryHighis deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh2is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh3is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh4is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh5is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh6is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh7is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.FaceLivenessSecurityLevelVeryHigh8is deprecated, we recommend to start usingFaceLivenessSecurityLevelHighinstead.
General:
startReplayingFile:withErrorhas been removed. RTV playback can be started by settingrtvFilePathinBIODebugDataSettingswhich is a property of capture handler. Playback starts automatically when a valid file path is set.stopReplayingFile:withErrorhas been removed.
Version 4.31.0
General:
- 32-bit arch (armv7) is not supported anymore and the target iOS version has been increased to 11 - it's recommended to increase the target version to iOS 11.0 or greater
Face:
FaceCaptureLivenessModeMediummode is deprecated, we recommend to start usingFaceCaptureLivenessModePassiveinstead
Finger:
- The
BIOTrackingInfo'sbiometricLocationandbiometricModalityparameters are deprecated and should not be used anymore. TheBIOTrackingInfois used for fingers tracking in a callback:FingerCaptureHandlerDelegate#captureTracking:withError: - The
BIOLivenessResult'sscoreparameter is deprecated and should not be used anymore.BIOLivenessResultis returned on the fingers scanning result inBIOFingerCaptureInfoofFingerCaptureHandlerDelegate#capturedFingers:withCaptureInfo:withError:
Version 4.30.0
- This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.29.1
Face
- Introduced the new method for starting a capture in the
RemoteFaceCaptureHandler:- (void)startCaptureWithDeviceIdSignature:(NSString *)deviceIdSignature completionHandler:(void (^ _Nullable)(NSError * _Nullable))completionHandler;, it should be used instead of the old one. ThedeviceIdSignatureparameter can be obtained with the newest RemoteSDK library version from 3.x.x. - It's possible to get encrypted
deviceIdandmasterSecretKeyfromRemoteFaceCaptureHandleronce a handler is created which are needed by the newset RemoteSDK library (from 3.x.x version).
Document
- Changed default minDPI parameter values. For
DocumentCaptureModeVeryLowID1andDocumentCaptureModeBarcodeVeryLowID1mode minDPI has been changed to 350 dpi (from 360). For all other modes minDPI is now 250 (120 previously). If the defaults are used, please verify if the new values meet your requirements.
Version 4.29.0
Face
- Removed deprecated property
livenessHintInfoinBIOFaceImageand removed the deprecated classBIOLivenessHintInfo. This property was connected with the illumination mechanism, which was removed several version before, so the property should not contain any crucial information.
Finger
- Deprecated
FingerCaptureOptions.initWithMode:constructor,FingerCaptureOptions.initWithMode:hand:should be used instead. - Parameter
FingerCaptureOptions.numberOfFingerswon't be availabe anymore, useFingerCaptureOptions.amputatedFingersinstead. FingerCaptureModeFourFingersandFingerCaptureModeOneFingerhave been deprecated. It is recommended to useFingerCaptureModeFingersinstead ofFingerCaptureModeFourFingers, andFingerCaptureModeThumbinstead ofFingerCaptureModeOneFinger
Document
- Removed deprecated capture modes:
DocumentCaptureModeVeryLowA4andDocumentCaptureModeMRZMediumVeryLowA4. They are no longer available.
Version 4.28.1
Deprecated values from BIOCaptureInfo are removed.
Deprecated FaceCaptureMode is removed, the FaceCaptureLivenessMode should be used instead.
Deprecated values from FingerCaptureMode are removed:
FingerCaptureModeLeftHand- replaced withFingerCaptureModeFourFingersandFingerCaptureOptions.numberOfFingersparameterFingerCaptureModeRightHand- replaced withFingerCaptureModeFourFingersandFingerCaptureOptions.numberOfFingersparameterFingerCaptureModeLeftHandAuthentication- replaced withFingerCaptureModeAuthenticationFingerCaptureModeRightHandAuthentication- replaced withFingerCaptureModeAuthentication
Version 4.28.0
The version has been omitted.
Version 4.27.0
New algorithm plugin BIOAlgorithmPlugin_F6_0_IDD80 is added and can be used instead of previous ones. Keep in mind that biometric templates created via different algorithms are not compatible.
Capture options can be created from configuration file. FingerCaptureOptions, FaceCaptureOptions and DocumentCaptureOptions have a new method + (instancetype _Nullable)createFromConfigurationFileWithError:(NSError**)error that returns options loaded from a file. This file is created on demand by the Capture SDK team.
When using DocumentCaptureModeBarcode or DocumentCaptureModeBarcodePDF417 mode for capturing, now (void)captureFinishedWithError:(NSError *)error delegate method is called after finishing the capture similarly as when using other document capture modes. Depending on your current implementation this might mean that for DocumentCaptureModeBarcode and DocumentCaptureModeBarcodePDF417 capture modes execution flow changed. Previously (void)captureFinishedWithError:(NSError *)error delegate method was not executed for those modes but it is now.
Version 4.26.0
New ESF plugin is added
New plugin allows to detect digital watermark on US driving licenses. Look here for more details.
Added new methods to convert BIOImage to JPEG that add additional information about captured image in EXIF
Selected DocumentCaptureMode values are deprecated
Deprecated values: DocumentCaptureModeMRZStillMedium, DocumentCaptureModeVeryLowA4, DocumentCaptureModeMRZMediumVeryLowA4
Enum BIOLivenessHintInfo is deprecated
OCREnable capture option is obsolete
Illumination mode is obsolete
Version 4.25.1
Enum FaceCaptureMode is obsolete
FaceCaptureMode will be removed in next version.
Added new feedback BIOCapturingInfoDeviceMovementEnded
Feedback appears when user stops moving device during capture.
New values for FingerCaptureMode
Added values: FingerCaptureModeFourFingers, FingerCaptureModeOneFinger, FingerCaptureModeAuthentication.
Version 4.25.0
The version has been omitted.
Version 4.24.0
This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.23.1
Metadata encryption
FaceCaptureHandler:
The ability to encrypt metadata from the image capture is added. Therefore, in BIOFaceImage.metadata the property’s type has been changed from NSData to BIOFaceMetadata. To get the data you must get the data property from BIOFaceMetadata object:
Before:
Objective-C1BIOFaceImage *bioImage = ...2NSData *metadata = bioImage.metadata;
After:
Objective-C1BIOFaceImage *bioImage = ...2NSData *metadata = bioImage.metadata.data;
New class BIOFaceMetadata
This is the face metadata that can be used for liveness verification with sthe erver.
New class BIOEncryptedData
This is the encrypted face metadata that can be used for liveness verification with the server.
Version 4.23.0
This SDK release is compatible with previous releases and does not require any migration steps.
Version 4.22.0
Remote Logger is integrated within the SDK
RemoteLogger is built into the SDK and by default it automatically sends analytics data to IDEMIA's server in the EU. If you are using CocoaPods then you only need to update the SDK version to v4.21.2 in Podfile. In case you integrated the SDK and RemoteLogger frameworks manually then you must manually remove the RemoteLogger framework from your project when you update the SDK to v4.22.0 because the v4.21.2 RemoteLogger is included inside the main SDK framework.
Added plugin mechanism that adds ability to choose between different plugins and algorithms
Plugins are available only for SDK variants, which contain features regarding face scanning and matching. If the face features are not used, no action is needed.
This release introduces a plugin mechanism. It's now possible to customize the face scanning and matching part of the SDK depending on an integrator's needs. More information about plugins can be found in the documentation in "Getting started / SDK plugins" section.
Depending on how an integrator has a project configured, it may require additional actions to upgrade the version:
CocoaPods (with cocoapods-art plugin)
- no actions required, the default configuration will be used (FaceCaptureNormal plugin and F5_0_VID81 algorithm)
Manual configuration
- an integrator must download the two new artifacts:
- capture plugins (BiometricSDK-4.22.0-plugins.tar.gz)
- algorithm plugins (BiometricSDK-4.22.0-algorithms.tar.gz)
- unpack the archives
- open Xcode project and navigate to project editor (select the project name and the application target name)
- Click the Add button ( + ) in the Frameworks and Libraries
- Click the Add Other button below the list
- Add
- algorithm plugin → BiometricSDK-4.22.0-algorithms/BiometricSDKAlgorithmPlugin_F5_0_VID81.framework
- capture plugin → BiometricSDK-4.22.0-plugins/BiometricSDKFaceCapturePluginNormal.framework
Version 4.21.2
RemoteLogger is now built into SDK and by default it automatically sends analytics data to IDEMIA's server in the EU. If you are using CocoaPods then you only must update the SDK version to v4.21.2 in Podfile. In case you integrated the SDK and RemoteLogger frameworks manually then you must manually remove the RemoteLogger framework from your project when you update the SDK to v4.21.2 since v4.21.2 RemoteLogger is included inside the main SDK framework.
Version 4.21.1
Switching from SDK v4.21.0 to v4.21.1 does not require additional code changes. However v4.21.1 requires the RemoteLogger.framework. If you are using CocoaPods dependency manager to integrate the SDK in your project then RemoteLogger.framework will be automatically added to your project and you do not need to perform additional actions. However, if you integrated the SDK manually then you must also integrate the RemoteLogger.framework manually in the same way as you did with the SDK.
Steps to manually integrate RemoteLogger if cocoapods dependency manager is not used:
- Download the RemoteLogger artifact manually from the artifactory (repository link) and unpack its content.
- In the project editor, select the target to which you want to add a library or framework.
- Click Build Phases at the top of the project editor.
- Open the Embedded Binaries.
- Click the Add button (+).
- Click the Add Other button below the list.
- Find the
RemoteLogger.frameworkfile and click the Open button.
Version 4.21.0
New SDK variants
- Face only - variant that includes only face capture functionality
- Face + document - variant that includes face and document capture functionality
Note: face liveness can be only verified using WebBioServer.
Code changes7
FingerCaptureHandler:
BIOFingerCaptureInfo.score is deprecated. Use BIOFingerCaptureInfo.qualityScore instead.
What is needed?
- iOS project that has been integrated with 4.20 version of Capture SDK.
- Recommended -> SampleApp project that is integrated with version 4.21 of Capture SDK. Use this project as a practical example and reference new changes.
Assumptions
Migrator is aware that implementation of a new SDK version requires changes in existing code which may have an impact on the current applications’ functionality.
Changes released in version 4.21 of Capture SDK requires changes in current project in order to successfully migrate.
Preparation
Read the Differences between v4.20 and v4.21 document (hereinafter referred to as DD) to get familiar with changes that were made in comparison to previous SDK versions.
Make sure that your project builds and runs correctly before you attempt migration. This will make sure that possible errors are connected with the migration, which may help to identify and fix them.
Code changes in brief
FingerCaptureHandler:
Property used for storing the score calculated during the acquisition process was changed from BIOFingerCaptureInfo.score to BIOFingerCaptureInfo.qualityScore.
New property is now of NSNumber type (instead of NSUInteger) so it can be nil if not applicable.
Reminder: score is calculated only when FingerCaptureOptions.maxNumberOfCaptures is set to a value higher than 1.