iOS Migration

From 2022.0.6 to 2023.0.0

  • Support for Xcode 12.x has been removed.

  • PasswordAuthenticator is no longer supported. Please use Custom Token Provider Authentication . The following related classes and associated methods were removed: PasswordAuthenticator, AuthenticationTokenProvider, PasswordEvaluation, PasswordStrength.

  • Replace the references:

    • SensibillSDK.shared.userDefinedLocale property is now available as SDKConfiguration.shared.userDefinedLocale
    • SensibillSDK.shared.locale property is now available as LocaleCollection.shared.locale
    • SensibillSDK.shared.tokenProvider property is now available as SensibillSDK.shared.identityService.tokenProvider. The property can no longer be changed after the SDK is started.
  • The following SensibillError codes are no longer throwing, remove their handling:

    • sdkMissingUserDetails (1015 - User details are missing)
    • sdkClientTokenRetrievalFailure (1021 - Client Token Retrieval Failure)
    • sdkAuthenticationFailureAfterTokenRefresh (1024 - Request failed with error 401, even after token was successfully refreshed. May indicate that token provider returns invalid token)
    • apiLogoutFailed (1038 - Logout request returned an error)
    • sdkParsePwdStrengthFailure (1042 - Response could not be parsed as PasswordEvaluation)
    • sdkParseCurrenciesModelFailure (1044 - Response could not be parsed as SupportedCurrenciesAPIModel)
    • sdkParseReceiptModelFailure (1045 - Response could not be parsed as ReceiptAPIModel)
    • sdkParseTagsModelFailure (1046 - Response could not be parsed as ReceiptAPIModel)
    • sdkMissingCredentialType (1055 - SDK configuration is missing Credential Type)
    • sdkMissingTokenProvider (1059 - TokenProvider object of SDK instance is not set)
  • The fFollowing SensibillError codes were replaced with the unified error code sdkInvalidConfiguration:

    • sdkMissingConfigurationFile (1051 - Sensibill.plist file was not found)
    • sdkConfigurationFileParsingFailed (1052 - The contents of Sensibill.plist could not be read or parsed)
    • sdkMissingConfigurationValues (1053 - SDK configuration is missing one or more values)
    • sdkMissingCertificateFilesForPinning (1054 - Some of the certificate files, specified in Sensibill.plist were not found)
  • The enableAddPage property of the SDKConfiguration.CaptureFeatureFlags was removed. Please use maxImages property instead. See Feature Switching page for more information.

  • The delegate method coordinatorDidFinishCapture(_ coordinator:, transactions:) of the CaptureFlowCoordinatorDelegate method is deprecated. Please implement coordinatorDidFinishCapture(_ coordinator:, result:) instead.

  • In order to find Transaction object associated with the captured document and submitted for processing, please use result object provided as part of this event. It contains one or more sourceId which you can use to get Transactions as follows:

    let transactions = SensibillSDK.shared.transactionService.transactions(forLocalIDs: result.sourceIds)