# iOS SDK 1.0 to 2.0 Migration



## Scope and provenance

- Product: mobile
- Status: Imported reference snapshot. Import date is not a verification date or guarantee of current release support.
- SDK version: Not declared for this page. Versions in examples must not be assumed current.
- Environment: Page-specific. Confirm the environment host, credentials, and service configuration; do not infer them from another product.
- Source: https://documentation.idmission.com/identity/SDKMigration/iOS.html
- Imported at: 2026-10-21T17:27:01.149Z
- Canonical page: https://docs.idmission.com/mobile/sdkmigration-ios-html
- Agent index: https://docs.idmission.com/llms.txt

---

<a id="Migration-to-SDK-v2.0"></a>

# Migration to SDK v2.0

This guideline provides a set of steps to migrate from **[iOS SDK v1.0](https://docs.idmission.com/markdown/mobile/ios-sdk-1.md)** to **[iOS SDK v2.0](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)**. IDmission has made some major changes in **SDK v2.0** and if you are actively using SDK v1.0 (older version) and planning to move to SDK v2.0, the following outlines the changes to be made during migration:

1. [iOS 12.\* Support Removed](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#1-ios-12-support-removed)

2. [Update Frameworks & Pod Dependencies](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#2-update-frameworks-pod-dependencies)

3. [Update Import Statement](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#3-update-import-statement)

4. [Initialization Method Changes](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#4-update-frameworks-dependencies)

5. [Update SDK APIs in Reference to Service instead of Service ID](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#5-implementing-service-ids)

   - 5.1 [Live face check (SID-660)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#1-live-face-check)
   - 5.2 [ID Validation (SID-20)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#2-id-validation)
   - 5.3 [ID Validation and face match (SID-10)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#3-id-validation-and-face-match)
   - 5.4 [Enroll Customer with ID validation (SID-50)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#4-enroll-customer-with-id-validation)
   - 5.5 [Enroll Biometric (SID-175)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#5-enroll-biometric)
   - 5.6 [Customer Verification (SID-105)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#6-customer-verification)
   - 5.7 [Customer Biometric Verification (SID-185)](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#7-customer-biometric-verification)
   - 5.8 [Autofill](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#8-autofill)

6. [Update Additional features](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#6-update-additional-feature)

   - 6.1 [Document Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#1-document-capture)
   - 6.2 [Signature Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#2-signature-capture)
   - 6.3 [FingerPrint Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#3-fingerprint-capture)
   - 6.4 [Video Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#4-video-capture)
   - 6.5 [Voice Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#5-voice-capture)

7. [Reference Links](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#7-reference-links)

<a id="1-ios-12-support-removed"></a>

# 1. iOS 12.\* Support Removed

From **SDK v2.0** we have set the deployment target as `iOS 13.0` and therefore, have removed support for `iOS 12.*`. This decision was made based on the user base being low for `iOS 12.0` and most developers are already setting their app's deployment target to greater than `iOS 12.0`.

<a id="2-update-frameworks-pod-dependencies"></a>

# 2. Update Frameworks & Pod Dependencies

## Update Framework

**SDK v1.0 Framework :** If you are using IDmission's `SDK v1.0` you might be using any one of the following framework files in your project. You need to ***Update*** any of these files from your project with the ones mentioned in the [SDK v2.0 Framework](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#sdk-v2-framework) section.

- `AppItFramework.framework`
- `AppItFramework_IdFaceCardIO.framework`
- `AppItFramework_IdFace.framework`
- `AppItFramework_WithoutCardIO.framework`
- `AppItFramework_IdFace_Without_Models.framework`
- `AppItFramework_Face.framework`

<a id="sdk-v2-framework"></a>**SDK v2.0 Framework :** While migrating to IDmission `SDK v2.0`, IDmission has provided the following three options with respect framework files. `IDentity 2.0` is the most feature rich, `IDentityMedium 2.0` and `IDentityLite 2.0` are smaller packages with a reduction features to minimize size.

- IDentity 2.0

  - `IDentitySDK_Swift.xcframework`
  - `IDCapture_Swift.xcframework`
  - `SelfieCapture_Swift.xcframework`

- IDentityMedium 2.0

  - `IDentityMediumSDK.xcframework`
  - `IDCaptureMedium.xcframework`
  - `SelfieCaptureMedium.xcframework`

- IDentityLite 2.0

  - `IDentityLiteSDK.xcframework`
  - `IDCaptureLite.xcframework`
  - `SelfieCaptureLite.xcframework`

Based on your business requirements, you can choose one of the `SDK v2.0` options and integrate the respective framework by referring to the sections [Add SDK using podfile](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md#:~:text=Add%20SDK%20using%20podfile) OR [Add SDK manually](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md#:~:text=this%20framework.-,Add%20SDK%20manually) which is mentioned in [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

## Update Pod Dependencies

**SDK v1.0 pod dependencies :** Replaced below mentioned `SDK v1.0` dependencies with the dependencies mentioned in [SDK v2.0 pod dependencies](https://docs.idmission.com/markdown/mobile/sdkmigration-ios-html.md#sdk-v2-pod-depencies) section in next point

| **AppItFramework**                              | **AppItFramework_WithoutCardIO**                | **AppItFramework_IdFaceCardIO**                 | **AppItFramework_IdFace**                       | **AppItFramework_IdFace_Without_Models**        | **AppItFramework_Face**                       |
| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | --------------------------------------------- |
| pod 'WebRTC'                                    | pod 'WebRTC'                                    | pod 'WebRTC'                                    | pod 'IdmEncryption', '5.0.0'                    | pod 'IdmEncryption', '5.0.0'                    | pod 'IdmEncryption', '5.0.0'                  |
| pod 'CocoaLumberjack'                           | pod 'CocoaLumberjack'                           | pod 'CocoaLumberjack'                           | pod 'TensorFlowLiteObjC', '\~> 2.7.0'           | pod 'TensorFlowLiteObjC', '\~> 2.7.0'           | pod 'TensorFlowLiteObjC', '\~> 2.7.0'         |
| pod 'SocketRocket'                              | pod 'SocketRocket'                              | pod 'SocketRocket'                              | pod 'GoogleMLKit/TextRecognition', '\~> 0.64.0' | pod 'GoogleMLKit/TextRecognition', '\~> 0.64.0' | pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0' |
| pod 'IdmEncryption', '5.0.0'                    | pod 'IdmEncryption', '5.0.0'                    | pod 'IdmEncryption', '5.0.0'                    | pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0'   | pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0'   |                                               |
| pod 'TensorFlowLiteObjC', '\~> 2.7.0'           | pod 'TensorFlowLiteObjC', '\~> 2.7.0'           | pod 'TensorFlowLiteObjC', '\~> 2.7.0'           |                                                 |                                                 |                                               |
| pod 'GoogleMLKit/TextRecognition', '\~> 0.64.0' | pod 'GoogleMLKit/TextRecognition', '\~> 0.64.0' | pod 'GoogleMLKit/TextRecognition', '\~> 0.64.0' |                                                 |                                                 |                                               |
| pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0'   | pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0'   | pod 'GoogleMLKit/FaceDetection', '\~> 0.64.0'   |                                                 |                                                 |                                               |

<a id="sdk-v2-pod-depencies"></a>**SDK v2.0 pod dependencies :** Here are the dependencies for each option that will be utilizes while integrating `SDK v2.0`

| **IDentitySDK2.0**                     | **IDentityMediumSDK2.0**               | **IDentityLiteSDK2.0**                 |
| -------------------------------------- | -------------------------------------- | -------------------------------------- |
| pod 'TensorFlowLiteSwift', '\~> 2.7.0' | pod 'TensorFlowLiteSwift', '\~> 2.7.0' | pod 'TensorFlowLiteSwift', '\~> 2.7.0' |
| pod 'GoogleMLKit/TextRecognition'      | pod 'GoogleMLKit/TextRecognition'      | pod 'GoogleMLKit/FaceDetection'        |
| pod 'GoogleMLKit/FaceDetection'        | pod 'GoogleMLKit/FaceDetection'        | pod 'GZIP'                             |
| pod 'GoogleMLKit/ImageLabeling'        | pod 'GZIP'                             |                                        |
| pod 'GZIP'                             |                                        |                                        |
| pod 'OpenSSL-Universal', '1.1.180'     |                                        |                                        |

<a id="3-update-import-statement"></a>

# 3. Update Import Statement

In `SDK v1.0` the following import statements are used to access API & response functions. With `SDK v2.0`, these would be replaced with the import statements shown after

```

         #import <AppItFramework/AppItSDK.h> or
         #import <AppItFramework_WithoutCardIO/AppItSDK.h> or
         #import <AppItFramework_IdFaceCardIO/AppItSDK.h> or
         #import <AppItFramework_IdFace/AppItSDK.h> or
         #import <AppItFramework_IdFace_Without_Models/AppItSDK.h> or
         #import <AppItFramework_Face/AppItSDK.h> or
         @interface YourViewController : UIViewController<AppItSDKResponse>
      
```

To below `SDK v2.0` import statements

```

         //For `IdentitySDK` option, use Following import statement
         import IDentitySDK_Swift
         import IDCapture_Swift
         import SelfieCapture_Swift

         //For `IdentityMediumSDK` option, use Following import statement
         import IDentityMediumSDK
         import IDCaptureMedium
         import SelfieCaptureMedium

         //For `IdentityLiteSDK` option, use Following import statement
         import IDentityLiteSDK
         import IDCaptureLite
         import SelfieCaptureLite
      
```

<a id="4-update-frameworks-dependencies"></a>

# 4. Initialization Method Changes

In `SDK v1.0` we have the following initialization & callback response methods. While migrating to `SDK v2.0`, these would be replaced with those shown after

SDK v1.0 Initialization Method :

```

         [AppitSDK initializeAppItSDK:(id)instance url:(NSString*)url loginId:(NSString*)loginId password:(NSString*)password merchantID:(NSString*)merchantID productID:(NSString*)productID productName:(NSString*)productName Language:(NSString*)Language enableGPS:(bool)enableGPS];

         Response Function :
         -(void)initializeSDKResponse : (NSMutableDictionary*) result;
      
```

To below `SDK v2.0` initialization method

```

         //Before Initialization of SDK pass the url values to following `IDentitySDK` static properties.
         IDentitySDK.initializeApiBaseUrl = "https://kyc.idmission.com/"
         IDentitySDK.apiBaseUrl = "https://api.idmission.com/"

         SDK v2.0 Initialization Method :
         IDentitySDK.initializeSDK(loginId: loginId, password: password, merchantId: merchantId) { error in
            if let error = error {
               // Handle Error
            } else {
               // Success!
            }
         }
      
```

<a id="5-implementing-service-ids"></a>

# 5. Update SDK API With Reference To Service IDs

<a id="1-live-face-check"></a>

## 5.1 Live face check (SID-660)

Replace below `SDK v1.0` Live face check API & its callback response method

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;
      
```

With below `SDK v2.0` Live face check method

```

         IDentitySDK.liveFaceCheck(from: self) { result in
            switch result {
              case .success(let liveFaceCheckResult):
                  // submit the successful result to the server
                  liveFaceCheckResult.submit { result in
                      switch result {
                          case .success(let response):
                              // Review successful response from the server
                              print(response)

                          case .failure(let error):
                              // Handle error
                              print(error.localizedDescription)
                      }
                  }
              case .failure(let error):
                  // Handle error
                  print(error.localizedDescription)
            }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="2-id-validation"></a>

## 5.2 ID Validation (SID-20)

Replace below `SDK v1.0` call of sequence for ID Validation

```

         SDK v1.0 IDCapture-Front API
         [AppItSDK captureFrontImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary]

         SDK v1.0 IDCapture-Back API
         [AppItSDK captureBackImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary configDictionary:(NSMutableDictionary*)configDictionary]

         SDK v1.0 IDCapture Response Method
         -(void)captureImageResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` ID Validation API

```

         // For IDentitySDK : Start ID Validation with the default options, presenting it from view controller(self)

         let options =  AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidation(from: self, options: options) { result in
             switch result {
                 case .success(let validateIdResult):

                     // submit the successful result to the server 
                     validateIdResult.submit { result in
                         switch result {  
                             case .success(let response):  
                                 // Review successful response from the server  
                                 print(response)  

                             case .failure(let error):  
                                 // Handle error  
                                 print(error.localizedDescription)  
                         }  
                     }

                 case .failure(let error): 
                     print(error.localizedDescription)
             }    
         }
      
```

```

         // For IDentityMediumSDK / IDentityLiteSDK :  Start ID Validation using captureBack(true/false) values with the default options, presenting it from view controller(self)

         let options = AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidation(from: self, options: options, captureBack: captureBack) { result in
             switch result {
                 case .success(let validateIdResult):

                     // submit the successful result to the server
                     validateIdResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="3-id-validation-and-face-match"></a>

## 5.3 ID Validation and face match (SID-10)

Replace below `SDK v1.0` call of sequence for ID Validation and face match

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;

         SDK v1.0 IDCapture-Front API
         [AppItSDK captureFrontImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary]

         SDK v1.0 IDCapture-Back API
         [AppItSDK captureBackImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary configDictionary:(NSMutableDictionary*)configDictionary]

         SDK v1.0 IDCapture Response Method
         -(void)captureImageResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` ID Validation and face match API

```

         // For IDentitySDK : Start ID Validation and face match with the default options, presenting it from view controller(self)

         let options =  AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidationAndMatchFace(from: self, options: options) { result in
             switch result {
                 case .success(let validateIdMatchFaceResult):

                     // submit the successful result to the server 
                     validateIdMatchFaceResult.submit { result in  
                         switch result {  
                             case .success(let response):  
                                 // Review successful response from the server  
                                 print(response)  
                             case .failure(let error):  
                                 // Handle error  
                                 print(error.localizedDescription)  
                         }  
                     }

                 case .failure(let error): 
                     print(error.localizedDescription)
             }    
         }
      
```

```

         // For IDentityMediumSDK / IDentityLiteSDK : Start ID Validation and face match using captureBack(true/false) values with the default options, presenting it from view controller(self)

         let options = AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidationAndMatchFace(from: self, options: options, captureBack: captureBack) { result in
             switch result {
                 case .success(let validateIdMatchFaceResult):

                     // submit the successful result to the server
                     validateIdMatchFaceResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="4-enroll-customer-with-id-validation"></a>

## 5.4 Enroll Customer with ID validation (SID-50)

Replace below `SDK v1.0` call of sequence for Enroll Customer with ID validation

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;

         SDK v1.0 IDCapture-Front API
         [AppItSDK captureFrontImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary]

         SDK v1.0 IDCapture-Back API
         [AppItSDK captureBackImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary configDictionary:(NSMutableDictionary*)configDictionary]

         SDK v1.0 IDCapture Response Method
         -(void)captureImageResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` Enroll Customer with ID validation API

```

         // For IDentityMediumSDK / IDentityLiteSDK  : Start Enroll Customer with ID validation with personalData & the default options, presenting it from view controller(self)

         let personalData = PersonalCustomerCommonRequestDataV3(uniqueNumber: uniqueNumber)
         let options = AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidationAndCustomerEnroll(from: self, personalData: personalData, options: options) { result in
             switch result {
                 case .success(let customerEnrollResult):

                     // submit the successful result to the server
                     customerEnrollResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

```

         // For IDentityMediumSDK / IDentityLiteSDK  : Start Enroll Customer with ID validation using captureBack(true/false) values with personalData & the default options, presenting it from view controller(self)

         let personalData = PersonalCustomerCommonRequestDataV3(uniqueNumber: uniqueNumber)
         let options = AdditionalCustomerWFlagCommonDataV3()
         IDentitySDK.idValidationAndCustomerEnroll(from: self, personalData: personalData, options: options, captureBack: captureBack) { result in
             switch result {
                 case .success(let customerEnrollResult):

                     // submit the successful result to the server
                     customerEnrollResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="5-enroll-biometric"></a>

## 5.5 Enroll Biometric (SID-175)

Replace below `SDK v1.0` call of sequence for Enroll Biometric

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` Enroll Biometric API

```

         // Start customer enroll birometric with personalData & the default options, presenting it from view controller(self)

         let personalData = PersonalCustomerCommonRequestDataV3(uniqueNumber: uniqueNumber)
         let options = AdditionalCustomerEnrollBiometricRequestDataV3()
         IDentitySDK.customerEnrollBiometrics(from: self, personalData: personalData, options: options) { result in
             switch result {
                 case .success(let customerEnrollBiometricsResult):

                     // submit the successful result to the server
                     customerEnrollBiometricsResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="6-customer-verification"></a>

## 5.6 Customer Verification (SID-105)

Replace below `SDK v1.0` call of sequence for Customer Verification

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` Customer Verification API

```

         // Start Customer Verification with personalData, presenting it from view controller(self)

         let personalData = PersonalCustomerVerifyData(uniqueNumber: uniqueNumber)
         IDentitySDK.customerVerification(from: self, personalData: personalData) { result in  
             switch result {
                 case .success(let customerVerificationResult):

                     // submit the successful result to the server
                     customerVerificationResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="7-customer-biometric-verification"></a>

## 5.7 Customer Biometric Verification (SID-185)

Replace below `SDK v1.0` call of sequence for Customer Biometric Verification

```

         SDK v1.0 Detect face API
         [AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]

         SDK v1.0 Detect face Response Method
         -(void)faceDetectionResponse : (NSMutableDictionary*) result;

         SDK v1.0 Generic API
         [AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]

         SDK v1.0 Generic API Response Method
         -(void)genericApiCallResponse : (NSMutableDictionary*)result;
      
```

With the below `SDK v2.0` Customer Biometric Verification API

```

         // start Customer Biometric Verification, presenting it from view controller(self)

         IDentitySDK.identifyCustomer(from: self) { result in
             switch result {
                 case .success(let customerIdentifyResult):

                     // submit the successful result to the server
                     customerIdentifyResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="8-autofill"></a>

## 5.8 Autofill

Replace below `SDK v1.0` Autofill API call

```

         SDK v1.0 Autofill API
         [AppItSDK autoFill:(id)instance idCaptureConfig:(NSMutableDictionary*)idCaptureConfig additionalDictionary:(NSMutableDictionary*)additionalDictionary];

         SDK v1.0 Autofill Response Method
         -(void)autoFillResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` Autofill API

```

         // start autofill, presenting it from view controller(self)

         IDentitySDK.autofill(from: self) { result in
             switch result {
                 case .success(let autofillResult):

                     // submit the successful result to the server
                     autofillResult.submit { result in
                         switch result {
                             case .success(let response):
                                 // Review successful response from the server
                                 print(response)

                             case .failure(let error):
                                 // Handle error
                                 print(error.localizedDescription)
                         }
                     }

                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="6-update-additional-feature"></a>

# 6. Update Additional features

<a id="1-document-capture"></a>

## 6.1 Document Capture

Replace below `SDK v1.0` Document Capture call

```

         SDK v1.0 Document Capture API
         [AppItSDK captureGenericDocument:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary fieldName:(NSString*)fieldName];

         SDK v1.0 Document Capture Response Method
         -(void)genericDocumentResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` Document Capture API

```

         // start document Capture, presenting it from view controller(self)

         IDentitySDK.documentCapture(from: self, documentName: documentName, uploadDocument: uploadDocument) { documentResult in
             switch documentResult {
                 case .success(let additionalDocument):
                     // Review successful response from the server
                     print(additionalDocument)
                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="2-signature-capture"></a>

## 6.2 Signature Capture

Replace below `SDK v1.0` Signature Capture call

```

         SDK v1.0 Signature Capture API
         [AppItSDK captureSignature:(id)instance uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary];

         SDK v1.0 Signature Capture Response Method
         -(void)captureSignatureResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` Signature Capture API

```

         // start Signature Capture, presenting it from view controller(self)

         IDentitySDK.signatureCapture(from: self) { signatureResult in
             switch signatureResult {
                 case .success(let signatureData):
                     // Review successful response from the server
                     print(signatureData)
                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="3-fingerprint-capture"></a>

## 6.3 FingerPrint Capture

Replace below `SDK v1.0` FingerPrint Capture call

```

         SDK v1.0 FingerPrint Capture API
         [AppItSDK captureFourFingerprint:(id)instance cameraFingerCaptureConfig:(NSMutableDictionary *)cameraFingerCaptureConfig];

         SDK v1.0 FingerPrint Capture Response Method
         -(void)fourFingerprintDetectionResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` FingerPrint Capture API

```

         // start FingerPrint Capture, presenting it from view controller(self)

         IDentitySDK.fingerPrintCapture(from: self) { fingerPrintResult in
             switch fingerPrintResult {
                 case .success(let fingerPrintData):
                     // Review successful response from the server
                     print(fingerPrintData)
                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="4-video-capture"></a>

## 6.4 Video Capture

Replace below `SDK v1.0` Video Capture call

```

         SDK v1.0 Video Capture API
         [AppItSDK startVideoRecording:(UIViewController*)instance recordingTime:(int)recordingTime minrecordingTime:(int)minrecordingTime additionalDictionary:(NSMutableDictionary*)additionalDictionary textDatatoScrolled:(NSString*)textDatatoScrolled]

         SDK v1.0 Video Capture Response Method
         -(void)videoRecordingResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` Video Capture API

```

         // Text for the user to read aloud during video recording.
         let text = "..."

         // Start Video Capture, presenting it from view controller(self)

         IDentitySDK.videoIDCapture(from: self, front: lastValidateIdResult.front, back: lastValidateIdResult.back, text: text) { result in
             switch result {
             case .success(let videoIdResult):
                 // Copy or move the video from its temporary location to the documents folder.
                 // (The temporary video will be removed once this method returns.)
                 let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
                 let url = documentDirectory.appendingPathComponent("video.mp4")
                 try? FileManager.default.moveItem(at: videoIdResult.videoURL, to: url)

                 // Review successful video ID result.
                 print(videoIdResult)
             case .failure(let error):
                 // Handle error.
                 print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="5-voice-capture"></a>

## 6.5 Voice Capture

Replace below `SDK v1.0` Voice Capture call

```

         SDK v1.0 Voice Capture API
         [AppItSDK startVoiceRecording:(id)instance recordingTime:(int)recordingTime additionalDictionary (NSMutableDictionary*)additionalDictionary];

         SDK v1.0 Voice Capture Response Method
         -(void)voiceRecordingResponse : (NSMutableDictionary*) result;
      
```

With the below `SDK v2.0` Voice Capture API

```

         // start Voice Capture, presenting it from view controller(self)

         IDentitySDK.voiceCapture(from: self) { voiceResult in
             switch voiceResult {
                 case .success(let url):
                     // Review successful recording file URL 
                     print(url)
                 case .failure(let error):
                     // Handle error
                     print(error.localizedDescription)
             }
         }
      
```

> **NOTE :** For all parameter details you can check our [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

<a id="7-reference-links"></a>

# 7. Reference Links

### SDK-1.0 Documentation Link : [https://documentation.idmission.com/identity/iOS-SDK-1/](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)

### SDK-2.0 Documentation Link : [https://documentation.idmission.com/identity/iOS-SDK-2/](https://docs.idmission.com/markdown/mobile/ios-sdk-2.md)
