Skip to main content
The minimum version of iOS supported by the SDK is 13.0.
During the review process of your app, Apple might ask you to describe NFC usage in your app, even if you don’t have the NFC feature enabled. To successfully pass the review, try sending them this video, which shows NFC usage in the KYC flow. If Apple still does not confirm, contact us for further communication.

iDenfy Identity Verification Flow

Below you can check a full regular flow.This flow can be customized and success results can be omitted as well. We recommend omitting them using the immediate redirect feature.

Getting Started

Obtain a Session Token

The SDK requires a session token to start initialization. See the session creation guide.

Provide Permissions

Add NSCameraUsageDescription to your application’s Info.plist file:

Add the SDK Dependency

We recommend using Swift Package Manager, since it is quicker to set up and causes fewer issues.
1. Add a packageYou can add it to your project with the following package repositories. You need to select only one SDK option.Base iDenfySDK dependency:iDenfySDK with Advanced Liveness detection feature:iDenfySDK with Advanced Liveness detection and Document blur glare detection features:iDenfySDK with Advanced Liveness detection, Document blur glare detection and NFC Reading features:iDenfySDK with Advanced Liveness detection, Document blur glare detection, NFC Reading and Document Auto Capture features:
We strongly recommend choosing an exact version of the latest SDK.
2. Select the librarySelect either static or dynamic versions of the SDK and add the package.Embed & Sign
If you are using the dynamic framework, make sure you have embedded and signed it in your application.
Embed & Sign
To use the localized version of the liveness feature, add FaceTec.strings to your app module. Otherwise, the localization will not work. iDenfy Assets can be found at the following URL. Strings are located in ../IdenfyAssets/IdenfyStrings folder.

Troubleshooting Compile Errors

If your application uses Objective-C bridging headers you might face the following compile error: using bridging headers with module interfaces is unsupported. Command CompileSwiftSources failed with a nonzero exit code. Compile error To solve this error, change the post_install script:
If your application has bitcode disabled and your build fails due to enabled bitcode on any of the pods, use:

Configure the SDK

Provide the following configuration:

Present the ViewController

UIKit:
SwiftUI: To initialize the SDK in a SwiftUI project, create a UIViewControllerRepresentable and present it in your view:
Full initialization code of iDenfySDK using SwiftUI is available in the sample application.

Handle Verification Callbacks

The SDK provides the idenfyIdentificationResult callback class.
If your service uses only the automatic (default) callback, then you should only check idenfyIdentificationResult.autoIdentificationStatus.

With getIdenfyResultWithDismiss Method

Callback Status Reference

autoIdentificationStatus

manualIdentificationStatus

The manualIdentificationStatus always returns INACTIVE unless your system implemented manual verification flow (step 11). The manual verification screen looks like this:Manual flowTo disable it, refer to the immediate redirect feature.
These SDK statuses are the same as iFrame integration statuses. The only difference is that the SDK returns INACTIVE if the manual verification screen was not opened during the verification session, instead of returning null as the iFrame does. Also, the iFrame does not close automatically since it can deliver results without closing itself.
After the SDK finishes and closes itself, you will also receive a webhook callback to your backend system.It might be useful to completely ignore the SDK status and communicate between your app and your backend service about verification status.

Samples

Our UIKit sample and SwiftUI sample applications demonstrate the integration of the iDenfy SDK.

FAQ

1. Is there a possibility to change the verification results view? Yes, you can achieve this by providing a custom waiting view controller. 2. How to change the position of the top titles? Any component and its properties can be changed by supplying your implementation of UIView. 3. How do I report an issue within the SDK? Please report any issue via the Jira customer portal. Attach the SDK and Xcode versions you are using, and describe the problem in as much detail as possible. 4. When I override liveness fonts, the size does not change. Why is that? Liveness font size is dynamically determined according to the screen resolution, and it cannot be manually changed. 5. What if Apple Review team denies our application because of iDenfy SDK?
  • Check the iDenfy privacy policy for possible answers.
  • If Apple Review team asks for a demo of NFC functionality, provide the following video.