LogoLogo
Useful links
  • Home
  • Product guides
  • API
  • SDKs
  • Overview
  • First steps
  • ANDROID
    • Getting Started with the SDK
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • Setting up the SDK
          • Setting properties
          • Capture Stages
          • Messages Settings
          • Customization
          • Security Settings
          • Detection Steps
          • Upload Mode
          • Advanced Settings
            • Proxy configuration
            • Preview configuration
        • Start Document Detection
        • Source Code
        • Google security form
        • Reduce SDKs size
        • SDKs response
        • References
        • FAQ
      • Face Liveness
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • SDK Lifecycle
        • Building the SDK
        • Start Liveness Verification
        • Source Code
        • References
        • Advanced Features
        • FAQ
      • Face Authenticator
        • Release Notes
      • Smart Auth
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • Permissions
        • SDK Lifecycle
        • Building the SDK
        • Start Smart Authentication
        • Source Code
        • References
        • FAQ
      • Face Liveness (deprecated)
        • Release Notes
  • iOS
    • Getting Started with the SDK
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Installing the SDK
        • Setting up the SDK
          • Setting properties
          • Messages Settings
          • Customization
          • Detection Steps
          • Upload Mode
          • Advanced Settings
            • Proxy configuration
            • Preview configuration
        • Start Document Detection
        • References
        • FAQ
      • Face Liveness
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • SDK Lifecycle
        • Building the SDK
        • Start Liveness Verification
        • Source Code
        • References
        • FAQ
      • Face Authenticator
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • Building the SDK
        • Start the SDK
        • References
        • FAQ
      • Smart Auth
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • SDK Lifecycle
        • Building the SDK
        • Start Smart Authentication
        • Source Code
        • References
        • FAQ
      • Face Liveness (deprecated)
        • Release Notes
  • REACT NATIVE
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Document Verification
        • Source Code
        • TypeScript References
        • Customizing Style
        • FAQ
      • Face Liveness
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Liveness Verification
        • Source Code
        • TypeScript References
        • FAQ
      • Face Authenticator
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Authentication Verification
        • Source Code
        • TypeScript References
        • FAQ
      • Smart Auth
        • Getting started
        • Release notes
        • Using Native Modules
          • Requirements
          • Gradle Source Code
          • Podfile Source Code
          • Native Module Android
          • Native Module iOS
          • Import Native Modules
          • Source Code
          • TypeScript References
          • FAQ
        • Using Expo Modules
          • Requirements
          • Create Local Expo Module
          • Gradle Source Code
          • Podspec Source Code
          • Native Module Android
          • Native Module iOS
          • Import Expo Modules
          • Source Code
          • TypeScript References
          • FAQ
  • WEB (JAVASCRIPT)
    • Standalone Modules
      • Document Detector
        • Getting started
        • SDK builder options
          • Analytics
          • Appearance
          • Messages
        • SDK methods
        • Event listeners
        • Customization
        • Release notes
      • Face Liveness
        • Customization
        • Release notes
      • Face Authenticator
        • Customization
        • Release notes
      • Smart Auth
        • SDK errors
        • Customization
        • Release notes
LogoLogo

2025 © Caf. - All rights reserved

On this page
  • Instantiating the SDK
  • Getting the Results
  1. iOS
  2. Standalone Modules
  3. Face Authenticator

Start the SDK

Instantiating the SDK

First, instantiate an object of type CafFaceAuthSDK. This object is for you to configure all your business rules:

class CafFaceAuthViewController: UIViewController {
    var faceAuthenticator: FaceAuthSDK?

    func setupFaceAuthenticator() {
        faceAuthenticator = FaceAuthSDK.Builder()
        // the table below shows all the SDK configuration options
        .build()
        faceAuthenticator?.delegate = self
    }

    func startFaceAuthenticator() {
        faceAuthenticator?.startFaceAuthSDK(viewController: self, mobileToken:"yourMobileToken", personId: "personId")
    }
}

Getting the Results

You must implement the FaceAuthSDKDelegate class to get the SDK results. To do that, you should provide a UIViewController to your SDK instance:

faceAuthenticator?.delegate = self

Delegate Implementation

The delegate below must be implemented to handle the SDK results. When implementing the delegate extension, you will have access to an object depending on the return type. In each case, the object carries different information.

extension FaceAuthViewController: FaceAuthSDKDelegate {
  func didFinishSuccess(with faceAuthenticatorResult: CafFaceAuth.FaceAuthenticatorResult) {
    //handle success result
  }
    
  func didFinishWithError(with faceAuthenticatorErrorResult: CafFaceAuth.FaceAuthenticatorErrorResult) {
    //handle error result
  }
    
  func didFinishFaceAuthWithCancelled() {
    //handle when user closes the SDK
  }
    
  func openLoadingScreenStartSDK() {
    //handle loading screen - display
  }
    
  func closeLoadingScreenStartSDK() {
    //handle loading screen - dismiss
  }
    
  func openLoadingScreenValidation() {
    //handle loading screen - display
  }
    
  func closeLoadingScreenValidation() {
    //handle loading screen - dismiss
  }
}   

Loading Screen

To create a loading screen during the SDK validation processes, you need to implement a view with the loading screen and display it in the open and close delegate functions. openLoadingScreenStartSDK(), closeLoadingScreenStartSDK(), openLoadingScreenValidation(), closeLoadingScreenValidation()

In the SDK implementation, it is necessary to add the view to the view stack using the following code. This makes the view visible.

view.addSubview(loadingHUD)

This view should be added before the Builder of the SDK.

Last updated 2 months ago