
Transition Guide for iOS SDK
This section covers all technical changes that should be considered when updating from previous versions, including, but not exclusively: API breaking changes or new functionality in the public API, major dependency changes, attribute changes, deprecation notices.
When updating your SDK version, all changes/updates made in in the meantime have to be taken into account and applied if necessary. Example: If you're updating from SDK version 3.7.2 to 3.9.2, the changes outlined in 3.8.0, 3.9.0 and 3.9.1 are still relevant.
4.18.0
Changes to Public API
Jumio.DigitalDocument.DocumentTypeenum has been added with the following supported values:TRUST_CHECK,EIDAS,MASTERCARD,DIGITAL_DRIVING_LICENSE_PDFJumio.DigitalDocumentpropertytypehas changed fromStringtoJumio.DigitalDocument.DocumentTypeJumio.DigitalDocumentcontains new optional propertylogoUrlJumio.IDCredentialcontains new functionsetDefaultDocumentConfiguration()
Preselection
- Digital Identity documents can now be preselected via the account request. See the Preselection section in the integration guide for details.
Localization Keys
The following keys have been added:
jumio_di_continue_with_providerjumio_di_doctype_digital_id_subheaderjumio_di_external_instructions_onejumio_di_external_instructions_twojumio_di_external_instructions_threejumio_di_external_sub_headerjumio_di_select_from_list_belowjumio_di_unexpected_error_descriptionjumio_di_unexpected_error_titlejumio_di_use_another_idjumio_di_what_happens_nextjumio_physical_id
The following keys have been renamed:
jumio_idtype_subtitle_idhas been renamed tojumio_select_id_typejumio_di_vendor_selection_titlehas been renamed tojumio_di_choose_digital_id
4.17.2
- Adds
CFBundleShortVersionStringto JumioLivenessClient.xcframework.
4.17.1
- Adds x86_64 simulator support to JumioLivenessClient.xcframework.
4.17.0
Changes to Public API
- Added
Jumio.LookupResult - Added
Jumio.LookupResult.LegalStatement - Added
Jumio.IDCredential.lookupResult - Added `Jumio.IDCredential.userConsented(to: Jumio.LookupResult.LegalStatement, decision: Bool)
- Added
Jumio.Credential.Info.order - Added
Jumio.TermsOfUse - Changed
Jumio.Controller.Delegate.jumio(controller: Jumio.Controller, didInitializeWith credentialInformations: [Jumio.Credential.Info], consentItems: [Jumio.ConsentItem]?)toJumio.Controller.Delegate.jumio(controller: Jumio.Controller, didInitializeWith credentialInformations: [Jumio.Credential.Info], consentItems: [Jumio.ConsentItem]?, termsOfUse: Jumio.TermsOfUse?).
Logical Errors
- Added
pendingLowOrderCredentialfor starting a credential when not all lower order credentials are completed.
Customization options
- Added
Jumio.Theme.termsOfUseForeground
Localization Keys
The following keys have been added:
jumio_loaders_almost_therejumio_loaders_finishing_upjumio_loaders_starting_camerajumio_loaders_successjumio_loaders_this_will_take_a_momentjumio_loaders_working_on_itjumio_selfiedone_ID_Foundjumio_selfiedone_continuejumio_selfiedone_scan_ID_manuallyjumio_selfiedone_we_found_your_ID
The following key has been removed:
jumio_analyzing_biometricjumio_dv_confirm_file_infojumio_dv_method_descriptionjumio_dv_retry_not_readablejumio_dv_retry_size_limitjumio_error_instant_feedback_bw_copy_tip_color_imagejumio_error_instant_feedback_bw_copy_titlejumio_error_instant_feedback_color_photocopy_titlejumio_liveness_scanning_completedjumio_uploading_successjumio_uploading_title
4.16.0
DefaultUI
- Removed support for landscape orientation on iPhones in DefaultUI.
Modules
- Removed
Jumio/IProov, please useJumio/Livenessinstead. - Removed NFC functionality from Jumio core:
- Removed
Jumio/Slimas nowJumio/Jumioacts as the only Jumio core product. - Added
Jumio/NFCas new dependency for NFC functionality. - Check out the Integration guide
- Removed
Customization options
- Added
Jumio.Theme.ScanView.shutter - Removed
Jumio.Theme.ScanView.documentShutter - Removed
Jumio.Theme.ScanView.faceShutter
Document Verification
- Document Verification supports additional mime types:
image/webpimage/jpegimage/pngimage/heic
Scan Updates
- Added
Jumio.Scan.Update.ExtractionState.rotate
4.15.0
Changes to Public API
The following functions and property-getters are now async:
Jumio.Controller.cancel()Jumio.Credential.cancel()Jumio.ScanPart.cancel()Jumio.ScanPart.finish()Jumio.Scan.View.isShutterEnabledJumio.Scan.View.flash- Added
Jumio.Scan.View.set(flash:)asJumio.Scan.View.flashis get-only.
- Added
Jumio.Scan.View.hasFlash
The following functions and properties are now annotated with @MainActor:
Jumio.Confirmation.Handler.partsJumio.Confirmation.Handler.renderPart(part:,view:)Jumio.Reject.Handler.partsJumio.Reject.Handler.renderPart(part:,view:)- All functions in
Jumio.DefaultUI.Delegate - All functions in
Jumio.Controller.Delegate - All functions in
Jumio.ScanPart.Delegate - All functions in
Jumio.Preloader.Delegate
The following classes, structs and enums conform now to Sendable:
Jumio.Themeand all structs withinJumio.Scan.ModeJumio.Scan.StepJumio.Scan.UpdateJumio.Scan.Update.ExtractionStateJumio.Scan.Update.FallbackReasonJumio.Scan.Update.FlashStateJumio.Scan.Update.TiltState
Customization options
- Added
Jumio.Theme.NFC.phoneScreen - Added
Jumio.Theme.NFC.chipPrimary - Added
Jumio.Theme.NFC.chipSecondary - Added
Jumio.Theme.NFC.chipBorder - Added
Jumio.Theme.NFC.pulse
Localization Keys
The following keys have been added:
jumio_nfc_error_description_idjumio_nfc_error_description_otherjumio_nfc_error_description_us
The following key has been removed:
jumio_nfc_retry_error_general
4.14.0
Scan Updates
- Added
Jumio.Scan.Update.ExtractionState.imageAnalysis - Added
Jumio.Scan.Update.cameraAvailable
Localization Keys
The following keys have been added:
jumio_id_scan_prompt_analyzingjumio_scan_switch_to_back_camerajumio_scan_switch_to_front_camerajumio_switched_to_back_camerajumio_switched_to_front_camerajumio_button_continuejumio_change_issuing_countryjumio_current_issuing_countryjumio_eidas_descriptionjumio_eidas_login_headerjumio_european_did_login_headerjumio_id_scan_hint_error_fallbackjumio_select
4.13.0
- Increased minimum iOS version to 13.0.
- Removed
Jumio/Datadogmodule.
4.12.0
Scan Modes
- Added
Jumio.Scan.Mode.livenessPremium
Scan Updates
- Added
Jumio.Scan.Update.ExtractionState.tiltFaceUp - Added
Jumio.Scan.Update.ExtractionState.tiltFaceDown - Added
Jumio.Scan.Update.ExtractionState.tiltFaceLeft - Added
Jumio.Scan.Update.ExtractionState.tiltFaceRight - Added
Jumio.Scan.Update.ExtractionState.moveFaceIntoFrame
Jumio IDResult
- Added
curptoJumio.IDResult - Removed
rawBarcodeDatafromJumio.IDResult
Localization Keys
The following keys have been added:
jumio_liveness_prompt_keep_centeredjumio_liveness_prompt_keep_stilljumio_liveness_prompt_keep_uprightjumio_liveness_prompt_move_awayjumio_liveness_prompt_success_another_scanjumio_liveness_prompt_tilt_downjumio_liveness_prompt_tilt_leftjumio_liveness_prompt_tilt_rightjumio_liveness_prompt_tilt_upjumio_liveness_scanning_completedjumio_error_scanning_not_possible
The following keys have been removed:
jumio_liveness_prompt_success_another_shotjumio_error_ocr_failed
Reject Reasons
- Added
Jumio.RejectReason.invalidCertificate
File Attacher
- Added property
helpUrl
ML Models
- Replaced model for determining liveness. Find the new model here.
4.11.1
- Removed
Jumio/Datadogfrom default podspec configuration. This fixes this known issue.
4.11.0
SPM
- Library
JumioLocalizationmakes it possible to localize strings with Swift Package Manager.
Scan Updates
- Added
Jumio.Scan.Update.ExtractionState.tilt - Added
Jumio.Scan.Update.TiltState - Added additional time parameter (in seconds) for
Jumio.Scan.Update.ExtractionState.holdStillupdate - Added
Jumio.Scan.Update.nextPosition
Scan Steps
Jumio.Scan.Step.imageTakenis sent exactly once per scan.- Please use
Jumio.Scan.Update.nextPositionto determine the position change for Jumio Liveness instead.
- Please use
Logical Errors
- Deprecated
noDataCenterSeterror - Added
tokenValidationFailederror for starting SDK with empty token - Added
dataCenterValidationFailederror for starting SDK without datacenter
Localization Keys
The following keys have been added:
jumio_id_scan_guide_photo_side_tiltjumio_id_scan_prompt_tilt_lessjumio_id_scan_prompt_tilt_more
Reject Reasons
- Added
401 unsupportedDocumenttoJumio.RejectReason.
4.10.1
- Removed
Jumio/Datadogfrom default podspec configuration. This fixes this known issue.
4.10.0
- Added
Jumio.Scan.Update.flash(FlashState) - Added
Jumio.Scan.Update.FlashState - Changed customization options
- Renamed
Jumio.Theme.bubble.circleItemForegroundtoJumio.Theme.bubble.outline - Renamed
Jumio.Theme.scanView.bubbleForegroundtoJumio.Theme.scanView.tooltipForeground - Renamed
Jumio.Theme.scanView.bubbleBackgroundtoJumio.Theme.scanView.tooltipBackground - Removed
Jumio.Theme.bubble.circleItemBackground - Removed
Jumio.Theme.searchBubble.backgroundSelected - Removed
Jumio.Theme.scanOverlay.fill - Removed
Jumio.Theme.scanOverlay.scanOverlayTransparent
- Renamed
Localization Keys
The following keys have been added:
jumio_id_scan_prompt_captured
The following keys have been removed:
jumio_id_scan_prompt_front_capturedjumio_id_scan_prompt_back_captured
Localization
- Added Serbian (Cyril)
sr-Cyrl - Added Serbian (Latin)
sr-Latn
4.9.1
- Fixed a crash on iOS 12 app startup.
4.9.0
- Minimum iOS version raised to 12.
- Removed
Jumio/DocFinderdependency as the functionality was moved to Jumio core. Every dependency now contains DocFinder functionality. - Removed
Jumio/DeviceRiskdependency as the functionality was moved to Jumio API. Plase check out our Integration guide. - Removed Default UI from Jumio core functionality
- Added
Jumio/DefaultUI - Check out the Integration Guide
- Added
- Added
idSubTypetoJumio.IDResult - Added
Jumio/Preloader, check out the Integration Guide - New
Jumio.Retry.Reason.Face- generic
- tooMuchMovement
- lightingTooBright
- lightingTooDark
- eyesClosed
- obscuredFace
- multipleFaces
- sunglasses
- Changed customization options
- Added
Jumio.Theme.face - Added
Jumio.Theme.PrimaryButton.outline - Added
Jumio.Theme.SecondaryButton.foregroundPressed - Added
Jumio.Theme.SecondaryButton.foregroundDisabled - Added
Jumio.Theme.SecondaryButton.outline - Added
Jumio.Theme.SearchBubble.outline - Added
Jumio.Theme.Loading.loadingAnimationGradient - Added
Jumio.Theme.Loading.loadingAnimationErrorGradient - Added
Jumio.Theme.Confirmation.imageBorder - Renamed
Jumio.Theme.Bubble.selectionIconForegroundtoJumio.Theme.selectionIconForeground - Renamed
Jumio.Theme.SearchBubble.listItemSelectedtoJumio.Theme.SearchBubble.backgroundSelected
- Added
4.8.1
- Removed
Starscreamdependency forJumio/IProov.
4.8.0
Manual Integration
- Framework
JumioLiveness.xcframeworkis now required when usingJumioIProov.xcframework
Carthage Integration
- Framework
JumioLiveness.xcframeworkis now required when usingJumioIProov.xcframework
4.7.1
- Removed
Starscreamdependency forJumio/IProov.
4.7.0
Barcode
- Removed
Jumio/Barcodedependency as the functionality was moved to Jumio core. Every dependency now contains Barcode functionality.
MRZ
- Removed
Jumio/MRZdependency. Please useJumio/Jumioinstead.
NFC
- Removed
Jumio/NFCdependency. Please useJumio/Jumioinstead.
Linefinder
- Removed
Jumio/LineFinderdependency. Please useJumio/Slimin combination withJumio/DocFinderinstead.
Changes to Public API
- Deprecated
Jumio.Theme.IProov.animationForeground- Added
Jumio.Theme.ScanHelp.faceAnimationForeground
- Added
- Deprecated
Jumio.Theme.IProov.animationBackground- Added
Jumio.Theme.ScanHelp.faceAnimationBackground
- Added
- Deprecated
Jumio.Theme.PrimaryButton.text- Added
Jumio.Theme.PrimaryButton.foreground
- Added
- Deprecated
Jumio.Theme.SecondaryButton.text- Added
Jumio.Theme.SecondaryButton.foreground
- Added
- Added
Jumio.Theme.PrimaryButton.foregroundPressed - Added
Jumio.Theme.PrimaryButton.foregroundDisabled - Removed
Jumio.Scan.Mode.lineFinder - Removed
Jumio.Scan.Mode.mrz - Deprecated
Jumio.Scan.Update.legalHint - Deprecated
Jumio.SDK.giveDataDogConsent(enabled: Bool) - Deprecated
Jumio.IDResult.rawBarcodeData
Localization Keys
The following keys have been added:
- jumio_id_scan_guide_photo_side
- jumio_id_scan_guide_back_side
- jumio_id_scan_guide_photo_side_manually
- jumio_id_scan_guide_back_side_manually
The following keys have been removed:
- jumio_id_scan_guide_take_photo_front_idc
- jumio_id_scan_guide_take_photo_back_idc
- jumio_id_scan_guide_take_photo_passport
- jumio_id_scan_guide_take_photo_front_dl
- jumio_id_scan_guide_take_photo_back_dl
- jumio_id_scan_guide_take_photo_front_pd
- jumio_id_scan_guide_take_photo_back_pd
Localization
- Replaced Portuguese
ptwith Portuguese (Portugal)pt-PT - Added Portugise (Brasil)
pt-BR
SPM
- Library
JumioDatadogwhich can be used to integrate JumioDatadog.
Carthage
- Added
JumioDatadog.json.
Frameworks
- Datadog dependency
DatadogSDKis removed
4.6.2
- Removed
Starscreamdependency forJumio/IProov.
4.6.1
Cocoapods
pod 'Jumio/DeviceRisk'was removed frompod 'Jumio/All'.
4.6.0
Liveness
- Added new library
JumioLivenessto enhance the Liveness user experience/interface. Check out our Integration Guide. - Removed liveness confirmation handling
Cocoapods
pod 'Jumio/IProov'replacesas new pod for using iProov liveness technology.pod 'Jumio/Liveness'pod 'Jumio/Liveness'is now required to use the Jumio liveness solution.
SPM
- Library
'JumioIProov'replacesas new library for our iProov liveness solution.'JumioLiveness' - Library
'JumioLiveness'is now required to use the Jumio liveness solution.
Carthage
- Added
'JumioLiveness.json'which is now required to use the Jumio liveness solution.
Changes to Public API
- Deprecated
Jumio.Theme.ScanView.shutter:- Added
Jumio.Theme.ScanView.documentShutter - Added
Jumio.Theme.ScanView.faceShutter
- Added
4.5.0
Customization
- Option
Jumio.Theme.ScanView.animationBackgroundhas been removed.
Changes to Public API
- Error code format updated from
[A][x][yyyy]to[A][xx][yyyy] - Deprecated
Jumio.IDCredential.countries:- Added
Jumio.IDCredential.supportedCountries - Added
Jumio.IDCredential.physicalDocuments(for:) - Added
Jumio.IDCredential.digitalDocuments(for:)
- Added
- Added
Jumio.SDK.handleDeeplinkURL() - Added
Jumio.Document.Physical - Added
Jumio.Document.Digital - New
Jumio.Credential.Part- digital
- New
Jumio.Scan.Step- digitalIdentityView
- thirdPartyVerification
- New
Jumio.Retry.Reason.DigitalIdentity- unknown
- expired
- thirdPartyVerificationError
- serviceError
- Changed
JumioScanView- Changed
extractionvariable to get-only - Added
startExtraction()function - Added
stopExtraction(hidePreview: Bool)function
- Changed
- Changed
JumioControllerDelegate- Changed
jumio(controller: Jumio.Controller, didInitializeWith credentialInformations: [Jumio.Credential.Info], policyUrl: String?)tojumio(controller: Jumio.Controller, didInitializeWith credentialInformations: [Jumio.Credential.Info], consentItems: [Jumio.ConsentItem]?)
- Changed
- Changed
Jumio.Controller- Changed
userConsented()to beuserConsented(to consentItem: Jumio.ConsentItem, decision: Bool) - Added
getUnconsentedItems() -> [Jumio.ConsentItem]?
- Changed
Localization Keys
The following keys have been added:
- jumio_idtype_di
- jumio_di_vendor_selection_title
- jumio_di_retry_unknown
- jumio_di_retry_third_party_verification_error
- jumio_di_retry_service_error
- jumio_di_back_to_document_selection
Cocoapods
- install hook for liveness is changed in the
podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['iProov', 'Starscream'].include? target.name
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
end
Frameworks
- iProov dependency
SwiftProtobufis removed
4.4.0
Changes to Public API
- New
Jumio.Credential.Partmultipart: This is the new Autocapture scan part. Instead of having a single scan part for all parts of a document (front, back), there is now a singlemultipartscan part that combines the two. Within this scan part all needed parts of a document are captured at once.
- New
Jumio.Scan.StepnextPart: This scan step shows that the previous part has been captured and the next one can be started (e.g. frontside has been captured, now switch to the backside of the document). Contains theJumio.Credential.Partas additional data. We suggest to actively guide the user to move to the next part, e.g. by showing an animation and by disabling the extraction during the animation.
- Updated
Jumio.Scan.Step.started- Added
Jumio.Credential.Partas additional data
- Added
- Changed confirmation and reject handling
- Added
Jumio.Confirmation.Handler - Added
Jumio.Reject.Handler - Moved
attach,detach,retakeandconfirmmethods fromJumio.Confirmation.ViewtoJumio.Confirmation.Handler - Moved
attach,detachandretakemethods fromJumio.Reject.ViewtoJumio.Reject.Handler - As a result the confirmation views for front and/or back within multipart scans are obsolete and not existing anymore.
- Added
- New
Jumio.Retry.Reason.iProov:- faceMisaligned
- eyesClosed
- faceTooFar
- faceTooClose
- sunglasses
- obscuredFace
- userTimeout
- notSupported
- Updated
Jumio.Scan.Step.rejectView:- The returned scan step data now contains a dictionary
[Jumio.Credential.Part: Jumio.RejectReason]instead of a singleJumio.RejectReason.
- The returned scan step data now contains a dictionary
- Removed
Jumio.Retry.Reason.iProov:- ambiguousOutcome
- lightingFlash
- lightingBacklit
- motionMouth
- New options in
Jumio.Theme.IProov:- filterBackgroundColor
- surroundColor
- livenessAssuranceCompletedOvalStrokeColor
- Renamed options in
Jumio.Theme.IProov:- lineColor to filterForegroundColor
- headerTextColor to titleTextColor
- floatingPromptRoundedCorners to promptRoundedCorners
- genuinePresenceAssuranceReadyOverlayStrokeColor to genuinePresenceAssuranceReadyOvalStrokeColor
- genuinePresenceAssuranceNotReadyOverlayStrokeColor to genuinePresenceAssuranceNotReadyOvalStrokeColor
- livenessAssuranceOverlayStrokeColor to livenessAssuranceOvalStrokeColor
- genuinePresenceAssuranceReadyFloatingPromptBackgroundColor to promptBackgroundColor
- genuinePresenceAssuranceNotReadyFloatingPromptBackgroundColor to promptBackgroundColor
- livenessAssuranceFloatingPromptBackgroundColor to promptBackgroundColor
- Removed options in
Jumio.Theme.IProov:- headerBackgroundColor
- footerBackgroundColor
- livenessAssurancePrimaryTintColor
- livenessAssuranceSecondaryTintColor
- genuinePresenceAssuranceProgressBarColor
- genuinePresenceAssuranceNotReadyTintColor
- genuinePresenceAssuranceReadyTintColor
- floatingPromptEnabled
Localization Keys
The following keys have been added:
- IProov_PromptAlignFace
- IProov_FailureEyesClosed
- IProov_FailureFaceTooClose
- IProov_FailureFaceTooFar
- IProov_FailureMisalignedFace
- IProov_FailureNotSupported
- IProov_FailureObscuredFace
- IProov_FailureSunglasses
- IProov_FailureTooBright
- IProov_FailureTooDark
- IProov_FailureTooMuchMovement
- IProov_FailureUnknown
- IProov_FailureUserTimeout
- IProov_AccessibilityPromptAlignFace
- IProov_AccessibilityPromptScanning The following keys have been renamed:
- IProov_ErrorCameraPermissionDeniedMessageIos to IProov_ErrorCameraPermissionDeniedMessage The following keys have been removed:
- IProov_MessageFormat
- IProov_PromptTapToBegin
- IProov_PromptLivenessAlignFace
- IProov_PromptLivenessNoTarget
- IProov_PromptGenuinePresenceAlignFace
- IProov_ProgressStreamingSlow
- IProov_PromptGrantPermission
- IProov_PromptGrantPermissionMessage
- IProov_FailureAmbiguousOutcome
- IProov_FailureLightingBacklit
- IProov_FailureLightingFaceTooBright
- IProov_FailureLightingFlashReflectionTooLow
- IProov_FailureLightingTooDark
- IProov_FailureMotionTooMuchMouthMovement
- IProov_FailureMotionTooMuchMovement
Liveness
- We have seperated our liveness solution in
JumioIProov.xcframework. You need to add this framework besideJumio.xcframeworkto your project.
Cocoapods
- The following pods have been removed. Instead
Jumio/Livenessshould be added in your pod file.pod 'Jumio/SlimLiveness'pod 'Jumio/LineFinderLiveness'pod 'Jumio/MRZLiveness'pod 'Jumio/BarcodeLiveness'pod 'Jumio/NFCLiveness'
- install hook for liveness is changed in the
podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['iProov', 'SwiftProtobuf', 'Starscream'].include? target.name
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
end
Frameworks
- iProov dependency
SwiftProtobufis added - iProov dependency
SocketIOis removed
4.3.1
No backward incompatible changes.