Migration to SDK v2.0
This guideline provides a set of steps to migrate from iOS SDK v1.0 to iOS SDK v2.0. 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:
- iOS 12.* Support Removed
- Update Frameworks & Pod Dependencies
- Update Import Statement
- Initialization Method Changes
- Update SDK APIs in Reference to Service instead of Service ID
- Update Additional features
- 6.1 Document Capture
- 6.2 Signature Capture
- 6.3 FingerPrint Capture
- 6.4 Video Capture
- 6.5 Voice Capture
- Reference Links
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
.
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 section.
AppItFramework.framework
AppItFramework_IdFaceCardIO.framework
AppItFramework_IdFace.framework
AppItFramework_WithoutCardIO.framework
AppItFramework_IdFace_Without_Models.framework
AppItFramework_Face.framework
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 OR Add SDK manually which is mentioned in SDK v2.0 Documentation
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 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' |
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' |
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
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!
}
}
5. Update SDK API With Reference To Service IDs
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
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
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
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
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
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
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
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
6. Update Additional features
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
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
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
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
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