Interaction with OZ Mobile SDK in iOS

OZ Mobile SDK for IOS stands for the Software Developer’s Kit of the Oz Forensics Platform providing seamless integration with customers’ mobile apps for login and biometric identification.

Demo App

Use this link to download the current build of the demo app:

https://ozforensics.com/demokit

Source code of an app sample using Oz Liveness SDK is provided in the GitHub repository:

https://gitlab.com/oz-forensics/oz-liveness-ios/-/tree/develop/OZLivenessDemo

Adding SDK Functionality to Customer's Mobile Application

Install SDK

Dependencies manager CocoaPods is used to install OZLivenessSDK. In order to integrate OZLivenessSDK into an Xcode project, add to Podfile:


    pod 'OZLivenessSDK', :git => 'https://gitlab.com/oz-forensics/oz-liveness-ios.git', :branch => 'develop'

Setting Up a Project

OZLivenessSDK uses Firebase MLKit to perform liveness check. Create a Firebase-проект, project, download and add to the Xcode project “GoogleService-Info.plist”.

Add following parameters to the project:


    OZSDK.authToken = "" // valid access token for API
    FirebaseApp.configure()

Authorization

To perform authorization of Oz Api and obtain authToken, method “OZSDK.login” is used:


    OZSDK.login(login, password: password) { (token, error) in
        if let token = token {
            OZSDK.authToken = token
        }
    }

Recording Videos

Create a controller to record videos as follows:


    let actions: [OZVerificationMovement] = [.scanning, .smile, .far]
    let ozLivenessVC: UIViewController = OZSDK.createVerificationVCWithDelegate(self, actions: actions)
    self.present(ozLivenessVC, animated: true)

action - list of user’s actions while recording videos.

In method onOZVerificationResult(results:) of OZVerificationDelegate delegate recording results can be retrieved with video status and URL.

Submitting Media Files to Be Analyzed

Recorded video files can be submitted to analysis with method “OZSDK.analyse”:


    OZSDK.analyse(
        results: results,
        analyseStates: [.quality],
        fileUploadProgress: { (progress) in
    
        }) { (resolution, error) in
    
    }

Block “completion” | “resolution” will contain the result of the assigned analysis including status (analysis status), type (analysis type) and “folderID” (Oz API folder ID).

Method “OZSDK.documentAnalyse” is used to perform a complex analysis with videos and document photos:


    OZSDK.documentAnalyse(
        documentPhoto: DocumentPhoto(front: frontDocumentURL, back: backDocumentURL),
        results: results,
        scenarioState: { (state) in
        }, fileUploadProgress: { (progress) in

        }) { (folderResolutionStatus, resolutions, error)

    }


Block “completion” | “resolution” will contain the result of the assigned analysis (similarly to OZSDK.analyse), and block folderResolutionStatus will contain the overall status of analyses for the folder.