iOS SDK

Welcome to the Identomat iOS SDK documentation! Here, you'll find everything you need to integrate our ID verification and KYC/AML solutions into your iOS application seamlessly.

Latest release: Version 1.1.152

Integration Document

The Identomat library provides a user identification flow consisting of various steps that combine document type and user image/video for verification.

Following steps are necessary to start a session using Identomat API

1. Get a session token and configure session

To start a session, you first need to acquire a session_token by calling the begin/ endpoint and configuring your verification flow.

⚠️ Note: This process is identical across Web and SDK integrations.

For full details on how to generate a session token, configure steps and flags, and start a session, please refer to the Web integration guide – Session Initialization.

Once you’ve obtained the session token, you can proceed with integrating it into your SDK flow.

2. Get the instance of Identomat SDK and pass data

The main class of the Identomat SDK is the IdentomatManager class. IdentomatManager is a singleton class in the Identomat SDK.

To obtain the SDK variable, you can use the following code:

Alternatively, you can call IdentomatManager.getInstance() each time, and it will return the same Identomat SDK instance.

3. Pass session token and handle callback

  • sessionToken – Response from the API: String type.

To pass the session token, we use the setUp function, which can be called like this:

The last step is to pass the callback function, which will be triggered after the user finishes interacting with the library. To do this, use the .callback function, which takes a function as an argument:

4. Start Identomat SDK

First, you should obtain the library's starter view, and then present it to the user.

5. Pass additional variables

To customize Identomat library for the app, we have some additional functions:

  1. setColors(colors: [String : String]) - sets specific colors 2.1 setStringsTableName(tableNme : String) - sets string by the languages file 2.2 setStrings(dict : [String : Any?]) - sets specific text strings

  2. setVariables(variables : [String : Any?]) - sets many customizable varaible

  3. setLogo(view: UIView) - sets loading indicator

Following functions in 5 are DEPRECATED after 0.0.73 version

5.1 setTitleFont(fontname: String, size : Int) - sets header font in library

5.2 setHead1Font(fontname: String, size : Int ) - sets header font in library

5.3 setHead2Font(fontname: String, size : Int ) - sets sub header font in library

5.4 setBodyFont(fontname: String, size : Int ) - sets body text font in library

5.5 skipLivenessInstructions() - skips liveness instructions

5.6 setLivenessIcons(neutralFace: UIImage?, smileFace: UIImage?) - sets liveness icons

5.7 setLivenessRetryIcon(retryIcon: Int?, size : Int) - sets liveness retry panel's main icon, size sets size of icon

5.8 setRetryIcon(retryIcon: Int?, size : Int) - sets document scan view's retry panel's main icon, size sets size of icon

5.9 setCameraDenyIcon(cameraDenyIcon: Int?, size : Int) - sets document scan view's retry panel's main icon

6.0 hideStatusBar(_ bool : Bool), setStatusBarStyle(style : UIStatusBarStyle) - customize status bar


1. Customizing colors

Use the setColors function to adjust the colors in the library to match the app's theme. Pass a dictionary containing the relevant color keys and their corresponding hex values:

Way to pass colors to library:

2. Customizing strings

To customize the strings displayed by the library at specific places, you can use two functions:

  1. setStrings(dict: [String: Any?])

  2. setStringsTableName(tableNme : String)

These are two different methods to customize strings.

The setStrings function takes a dictionary with specific keys for different languages. The structure looks like this:

In the second approach, you use the setStringsTableName(tableName: String) function, where you create a .strings file in your project and localize it for different languages, just like you would do for your app.

Here's how you can use this method:

  1. Create a .strings file, for example, languages.strings.

  2. Localize the file for different languages as you normally would in your project.

  3. Pass the name of the .strings file (without the extension) to the library, like this:

3. Customizing variables

For every other customization, we use the setVariables(variables: Map<String, Any?>) function, where we pass a key-value pair map of variables.

The map structure looks like this:

setLogo(view: UIView) This function is used for setting a custom logo in the library. You can pass your own custom view, and display anything on that view (animations, images, etc.). This logo will be displayed when the library is processing something.


String keys and default values

String keys and their default value for English language:

Last updated

Was this helpful?