Skip to content

Integration

If you want to integrate previous version than 1.5.0 please check Migration page.

Project setup

Inside folder idrnd_frameworks_delivery/frameworks you will find frameworks.

List of modules:

  • IDLiveFaceCamera implements a streamlined UI for helping a user take a photo while checking it for quality compliance, and to show the result of the liveness assessment
  • IDLiveFaceIAD implements features allowing IDCameraController to create the IAD (injection attack detection) bundle suitable for sending to server.
  • IDLiveFaceLiveness implements a network API for requesting liveness (PAD/presentation attack detection) assessment.

These modules are designed to avoid specific injection attacks occurring on iOS device environments and is designed to be bundled into other iOS applications as a feature that will aid in verifying digital identity attacks.

This delivery contains iOS frameworks for integrating the IAD (injection attack detection) technology into your application, as well as documentation and an example app.

  • check the docs folder for more documentation for each framework.
  • check an example demo app [Sample App][demo_app] that makes use of our iOS Capture Library in folder: (idlive-face-capture-ios-X.X.X/idrnd_frameworks_delivery/CameraExample_IAD/CameraExample)

It is highly recommended to rebuild the frameworks on your side using the following command: ./build_delivery_package.sh

So in your Xcode Project Settings (Settings General/Frameworks,Libraries, and embedded content) you should add frameworks described below:

Add IDLiveFaceCamera.xcframework to your project.
Using the capture module is required for IAD.

Add IDLiveFaceIAD.xcframework if you want to use IAD features and send the IAD bundle to server. This will make IAD methods available to use. IDLiveFaceIAD.xcframework is only shipped in compiled form.

Note

IDLiveFaceLiveness.xcframework can be used for testing purposes. In production it's advised to use your own protocol for communicating with your server.

IDLiveFaceLiveness.xcframework if you want use it for testing a network API for requesting liveness (PAD/presentation attack detection) assessment.

In General tab of your project target these frameworks should have option embedded and signed selected.

If an error occurs during the building of your app, make sure that the frameworks are being linked against in Build Phases.

If needed, add a path to the frameworks to Framework Search Paths in Build Settings (e.g. $(PROJECT_DIR)/frameworks)

Note

It is important to add NSCameraUsageDescription to your Info.plist

Add NSCameraUsageDescription to your Info.plist to allow your app to take photos.
The message you will enter will be shown when the user is asked for permission to take photos.

iOS version support

IDLive Face framework family contains several frameworks that can be delivered to you in different variants, that affect support of different iOS versions.

IDLiveFaceCamera.xcframework: iOS 13.0+

IDLiveFaceIAD.xcframework: iOS 13.0+

IDLiveFaceLiveness.xcframework: iOS 13.0+

Troubleshooting

To simplify the launch of the demo app, precompiled frameworks are also provided.

However, if you are using a different version of the Swift compiler (Xcode), it may be necessary to rebuild the frameworks using the following command:

  • ./build_delivery_package.sh

!!! note The build_delivery_package.sh script requires Cocoapods to be already installed and if you want to build documentation you should also have jazzy installed

You can install cocoapods via: gem install cocoapods and jazzy (optional): gem install jazzy

You can also provide the BUILD_DESTINATION environment variable to compile the frameworks for Simulator, e.g.

  • BUILD_DESTINATION="iOS Simulator" ./build_delivery_package.sh

The default BUILD_DESTINATION (when it's not specified) is set to iPhone

If you are getting errors about non-modular includes, you might need to adjust your project settings as follows:

  • Set Allow Non-modular Includes in Framework Modules to "Yes"
  • Add flags to Other Swift Flags: -Xcc, -Wno-error=non-modular-include-in-framework-module

FaceSDK doesn't include bitcode (deprecated since Xcode14), you might need to disable it for targets that use FaceSDK if it is necessary in your case (Build Settings - Enable Bitcode - No).