Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
You can generate the trial license here or contact us by email to get a productive license. To create the license, your bundle id
is required. After you get a license file, there are two ways to add the license to your project.
Rename this file to forensics.license and put it into the project. In this case, you don't need to set the path to the license.
During the runtime: when initializing SDK, use the following method.
or
LicenseSource
a source of license, and LicenseData
is the information about your license. Please note: this method checks whether you have an active license or not and if yes, this license won't be replaced with a new one. To force the license replacement, use the setLicense
method.
In case of any license errors, the system will use your error handling code as shown above. Otherwise, the system will return information about license. To check the license data manually, use OZSDK.licenseData
.
Master license is the offline license that allows using Mobile SDKs with any bundle_id
, unlike the regular licenses. To get a master license, create a pair of keys as shown below. Email us the public key, and we will email you the master license shortly after that.
Your application needs to sign its bundle_id
with the private key, and the Mobile SDK checks the signature using the public key from the master license. Master licenses are time-limited.
This section describes the process of creating your private and public keys.
To create a private key, run the commands below one by one.
You will get these files:
privateKey.der is a private .der key;
privateKey.txt is privateKey.der encoded by base64. This key containing will be used as the host app bundle_id signature.
File examples:
The OpenSSL command specification: https://www.openssl.org/docs/man1.1.1/man1/openssl-pkcs8.html
To create a public key, run this command.
You will get the public key file: publicKey.pub. To get a license, please email us this file. We will email you the license.
File example:
SDK initialization:
License setting:
Prior to the SDK initializing, create a base64-encoded signature for the host app bundle_id
using the private key.
Signature creation example:
Pass the signature as the masterLicenseSignature
parameter either during the SDK initialization or license setting.
If the signature is invalid, the initialization continues as usual: the SDK checks the list of bundle_id
included into the license like it does it by default without a master license.
To start using Oz iOS SDK, follow the steps below.
Embed Oz iOS SDK into your project as described here.
Connect SDK to API as described here. This step is optional, as this connection is required only when you need to process data on a server. If you use the on-device mode, the data is not transferred anywhere, and no connection is needed.
Capture videos by creating the controller as described here. You'll send them for analysis afterwards.
Upload and analyze media you've taken at the previous step. The process of checking liveness and face biometry is described here.
If you want to customize the look-and-feel of Oz iOS SDK, please refer to this section.
Recommended iOS version: 12 and higher.
Recommended Xcode version: 12.5 and higher.
Available languages: EN, ES, HY, KK, KY, TR, PT-BR.
A sample app source code using the Oz Liveness SDK is located in the GitLab repository:
Follow the link below to see a list of SDK methods and properties:
Download the demo app latest build here.
Create a controller that will capture videos as follows:
Once video is captured, the system calls the onOZLivenessResult
method:
If you use our SDK just for capturing videos, omit the Checking Liveness and Face Biometry step.
If a user closes the capturing screen manually, the failedBecauseUserCancelled
error appears.
Since 8.1.0, you can also use a simpler code:
By default, the full version is being installed. It contains both server-based and on-device analysis modes. To install the server-based version only, use the following code:
For 8.1.0 and higher:
OZLivenessSDK.xcframework,
OZLivenessSDKOnDeviceResources.bundle,
OZLivenessSDKResources.bundle.
Please note: in your host application, it is recommended that you set the API address on the screen that precedes the liveness check. Setting the API URL initiates a service call to the API, which may cause excessive server load when being done at the application initialization or startup.
Alternatively, you can use the login and password provided by your Oz Forensics account manager:
For telemetry, set the separate connection as shown below:
Error message | What to Do |
---|---|
action
– a list of user’s while capturing the video.
The method returns the results of video capturing: the [
]
objects. The system uses these objects to perform checks.
To install OZLivenessSDK, use the dependency manager. To integrate OZLivenessSDK into an Xcode project, add the following code to Podfile:
Version is optional as, by default, the newest version is integrated. However, if necessary, you can find the older version number in .
You can also add the necessary frameworks to your project manually. Download the SDK files from :
The TensorFlow framework can be found .
To connect SDK to Oz API, specify the API URL and as shown below.
License error. License at (your_URI) not found
The license file is missing. Please check its name and path to the file.
License error. Cannot parse license from (your_URI), invalid format
The license file is somehow damaged. Please email us the file.
License error. Bundle company.application.id is not in the list allowed by license (bundle.id1, bundle.id2)
The bundle (application) identifier you specified is missing in the allowed list. Please check the spelling, if it is correct, you need to get another license for your application.
License error. Current date yyyy-mm-dd hh:mm:ss is later than license expiration date yyyy-mm-dd hh:mm:ss
Your license has expired. Please contact us.
License is not initialized.
You haven't initialized the license. Please add the license to your project as described above.
If you want to get back to the previous (up to 6.4.2) versions' design, reset the customization settings of the capture screen and apply the parameters that are listed below.
If you use our SDK just for capturing videos, omit this step.
To check liveness and face biometry, you need to upload media to our system and then analyze them.
To interpret the results of analyses, please refer to Types of Analyses.
Below, you'll see the example of performing a check and its description.
To delete media files after the checks are finished, use the cleanTempDirectory
method.
To add metadata to a folder, use AnalysisRequest.addFolderMeta
.
In the params
field of the Analysis
structure, you can pass any additional parameters (key + value), for instance, to extract the best shot on the server side.
To use a media file that is captured with another SDK (not Oz iOS SDK), specify the path to it in the OzMedia structure (the bestShotURL
property):
If you want to add your media to the existing folder, use the addFolderId
method:
To customize the Oz Liveness interface, use OZCustomization
as shown below. For the description of customization parameters, please refer to iOS SDK Methods and Properties.
Please note: the customization methods should be called before the video capturing ones.
iOS SDK changes
The messages displayed by the SDK after uploading media have been synchronized with Android.
The bug causing analysis delays that might have occurred for the One Shot gesture has been fixed.
Removed the pause after the Scan gesture.
Security and logging updates.
Security updates.
Changed the default behavior in case a localization key is missing: now the English string value is displayed instead of a key.
Fixed some bugs.
Internal licensing improvements.
Implemented the possibility of using a master license that works with any bundle_id
.
Fixed the bug with background color flashing.
Bug fixes.
The Analysis
structure now contains the sizeReductionStrategy
field. This field defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully.
The messages for the errors that are retrieved from API are now detailed.
The toFrameGradientColor
option in hintAnimationCustomization
is now deprecated, please use the hintGradientColor
option instead.
Got back the iOS 11 support.
Updated the Liveness on-device model.
Added the Portuguese (Brazilian) locale.
If a media hasn't been uploaded correctly, the system now repeats the upload.
Added a new method to retrieve the telemetry (logging) identifier: getEventSessionId
.
The setPermanentAccessToken
, configure
and login
methods are now deprecated. Please use the setApiConnection
method instead.
The setLicense(from path:String)
method is now deprecated. Please use the setLicense(licenseSource: LicenseSource)
method instead.
Fixed some bugs and improved the SDK work.
Fixed some bugs and improved the SDK algorithms.
Added the new analysis mode – hybrid (Liveness only). If the score received from an on-device analysis is too high, the system initiates a server-based analysis as an additional check.
Improved the on-device models.
Updated the run method.
Added new structures: RequestStatus
(analysis state), ResultMedia
(analysis result for a single media) and RequestResult
(consolidated analysis result for all media).
The updated AnalysisResult
structure should be now used instead of OzAnalysisResult
.
For the OZMedia
object, you can now specify additional tags that are not included into our tags list.
The Selfie video length is now about 0.7 sec, the file size and upload time are reduced.
The hint text width can now exceed the frame width (when using the main camera).
The methods below are no longer supported:
Added the center hint background customization.
Added new face frame forms (Circle, Square).
Synchronized the default customization values with Android.
Added the Spanish locale.
iOS 11 is no longer supported, the minimal required version is 12.
Fixed the issue with the server-based One shot analysis.
Improved the SDK algorithms.
Fixed error handling when uploading a file to API. From this version, an error will be raised to a host application in case of an error during file upload.
Improved the on-device Liveness.
Fixed the animation for sunglasses/mask.
Fixed the bug with the .document
analysis.
Updated the descriptions of customization methods and structures.
Updated the TensorFlow version to 2.11.
Fixed several bugs, including the Biometry check failures on some phone models.
Added customization for the hint animation.
Integrated a new model.
Added the uploadMedia
method to AnalysisRequest
. The addMedia
method is now deprecated.
Fixed the combo analysis error.
Added a button to reset the SDK theme and language settings.
Fixed some bugs and localization issues.
Extended the network request timeout to 90 sec.
Added a setting for the animation icon size.
Synchronized the version numbers with Android SDK.
Added a new field to the Analysis
structure. The params
field is for any additional parameters, for instance, if you need to set extracting the best shot on server to true. The best shot algorithm chooses the most high-quality frame from a video.
Fixed some localization issues.
Changed the Combo gesture.
Now you can launch the Liveness check to analyze images taken with another SDK.
The Zoom in and Zoom out gestures are no longer supported.
Added a new simplified analysis structure – AnalysisRequest
.
Added methods of on-device analysis: runOnDeviceLivenessAnalysis
and runOnDeviceBiometryAnalysis
.
You can choose the installation version. Standard installation gives access to full functionality. The core
version (OzLivenessSDK/Core
) installs SDK without the on-device functionality.
Added a method to upload data to server and start analyzing it immediately: uploadAndAnalyse
.
Improved the licensing process, now you can add a license when initializing SDK: OZSDK(licenseSources: [LicenseSource], completion: @escaping ((LicenseData?, LicenseError?) -> Void))
, where LicenseSource
is a path to physical location of your license, LicenseData
contains the license information.
Added the setLicense
method to force license adding.
Added the Turkish locale
Added the Kyrgyz locale
Added Completion Handler for analysis results.
Added Error User Info to telemetry to show detailed info in case of an analysis error.
Added local on-device analysis.
Added oval and rectangular frames.
Added Xcode 12.5.1+ support.
Added SDK configuration with licenses.
Added the One Shot gesture.
Improved OZVerificationResult
: added bestShotURL
which contains the best shot image and preferredMediaURL
which contains an URL to the best quality video.
When performing a local check, you can now choose a main or back camera.
Authorization sessions extend automatically
Updated authorization interfaces.
Added the Kazakh locale
Added license error texts
You can cancel network requests
You can specify Bundle for license
Added analysis parameterization documentAnalyse
.
Fixed building errors (Xcode 12.4 / Cocoapods 1.10.1)
Added license support
Added Xcode 12 support instead of 11.
Fixed the documentAnalyse
error where you had to fill analyseStates
to launch the analysis
Fixed logging
A singleton for Oz SDK.
Returns
-
Forces the license installation.
Retrieves an access token for a user.
Returns
The access token or an error.
Retrieves an access token for a user to send telemetry.
Returns
The access token or an error.
Checks whether an access token exists.
Parameters
-
Returns
The result – the true or false value.
Deletes the saved access token
Parameters
-
Returns
-
Creates the Liveness check controller.
Returns
UIViewController or an exception.
Creates the Liveness check controller.
Returns
UIViewController or an exception.
Deletes all videos.
Parameters
-
Returns
-
Retrieves the telemetry session ID.
Parameters
-
Returns
The telemetry session ID (String parameter).
Sets the bundle to look for translations in.
Parameters
Returns
-
Sets the length of the Selfie gesture (in milliseconds).
SDK locale (if not set, works automatically).
The host to call for Liveness video analysis.
The holder for attempts counts before SDK returns error.
The SDK version.
A delegate for OZSDK.
Gets the Liveness check results.
Returns
-
The error processing method.
Returns
-
A protocol for performing checks.
Creates the AnalysisRequest instance.
Returns
The AnalysisRequest instance.
Adds an analysis to the AnalysisRequest instance.
Returns
-
Uploads media on server.
Returns
-
Adds the folder ID to upload media to a certain folder.
Returns
-
Adds metadata to a folder.
Returns
-
Runs the analyses.
Returns
The analysis result or an error.
Customization for OzLivenessSDK (use OZSDK.customization
).
A set of customization parameters for the toolbar.
A set of customization parameters for the center hint that guides a user through the process of taking an image of themselves.
A set of customization parameters for the hint animation.
A set of customization parameters for the frame around the user face.
A set of customization parameters for the background outside the frame.
A set of customization parameters for the SDK version text.
A set of customization parameters for the antiscam message that warns user about their actions being recorded.
Logo customization parameters. Custom logo should be allowed by license.
A source of a license.
The license data.
Contains action from the captured video.
Contains all the information on the media captured.
The type of media captured.
Error description.
Contains information on what media to analyze and what analyses to apply.
The type of the analysis.
Currently, the .document analysis can't be performed in the on-device mode.
The mode of the analysis.
Shows the media processing status.
Shows the files' uploading status.
Shows the analysis processing status.
Describes the analysis result for the single media.
Contains the consolidated analysis results for all media.
Contains the results of the checks performed.
The general status for all analyses applied to the folder created.
Contains the results for single analyses.
Frame shape settings.
Possible license errors.
The authorization type.
Defines the settings for the repeated media upload.
Defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully. By default, the system uploads the compressed video.
The length of the Selfie gesture is now (affects the video file size).
You can instead of Oz logo if your license allows it.
The code in is now up-to-date.
If multiple analyses are applied to the folder simultaneously, the system sends them as a group. It means that the “worst” of the results will be taken as resolution, not the latest. Please refer to for details.
For the Liveness analysis, the system now treats the highest score as a quantitative result. The Liveness analysis output is described .
You can now add a custom or update an existing language pack. The instructions can be found .
Added the antiscam widget and its . This feature allows you to alert your customers that the video recording is being conducted, for instance, for loan application purposes. The purpose of this is to safeguard against scammers who may attempt to deceive an individual into approving a fraudulent transaction.
Implemented a range of options and switched to the new design. To restore the previous settings, please refer to .
The run
method now works similar to the one in Android SDK and returns an .
Initializes OZSDK with the license data. The closure is either license data or .
Contains the locale code according to .
Parameter | Type | Description |
---|
Removed method | Replacement |
analyse | AnalysisRequest.run |
addToFolder | uploadMedia |
documentAnalyse | AnalysisRequest.run |
uploadAndAnalyse | AnalysisRequest.run |
runOnDeviceBiometryAnalysis | AnalysisRequest.run |
runOnDeviceLivenessAnalysis | AnalysisRequest.run |
addMedia | uploadMedia |
Parameter | Type | Description |
languageBundle | Bundle | The bundle that contains translations |
Parameter | Type | Description |
selfieLength | Int | The length of the Selfie gesture (in milliseconds). Should be within 500-5000 ms, the default length is 700 |
Parameter | Type | Description |
host | String | Host address |
Parameter | Type | Description |
version | String | Version number |
Parameter | Type | Description |
folderId (optional) | String | The identifier to define when you need to upload media to a certain folder. |
Parameter | Type | Description |
folderId | String | The folder identifier. |
Parameter | Type | Description |
meta | [String] | An array of metadata as follows: ["meta1": "data1"] |
Parameter | Type | Description |
closeButtonIcon | UIImage | An image for the close button |
closeButtonColor | UIColor | Close button |
titleFont | UIFont | Toolbar title text font |
titleColor | UIColor | Toolbar title text color |
backgroundColor | UIColor | Toolbar background color |
titleText | String | Text on the toolbar |
Parameter | Type | Description |
textFont | UIFont | Center hint text font |
textColor | UIColor | Center hint text color |
backgroundColor | UIColor | Center hint text background |
verticalPosition | Int | Center hint vertical position from the screen top (in %, 0-100) |
hideTextBackground | Bool | Hides text background |
backgroundCornerRadius | Int | Center hint background frame corner radius |
Parameter | Type | Description |
hideAnimation | Bool | A switcher for hint animation, if |
animationIconSize | CGfloat | A side size of the animation icon square |
hintGradientColor | UIColor | The close-to-frame gradient color |
Parameter | Type | Description |
backgroundColor | UIColor | Background color |
Parameter | Type | Description |
textFont | UIFont | SDK version text font |
textColor | UIColor | SDK version text color |
Parameter | Type | Description |
customizationEnableAntiscam | Bool | Adds the antiscam message |
customizationAntiscamTextMessage | String | Antiscam message text |
customizationAntiscamTextFont | UIFont | Antiscam message text font |
customizationAntiscamTextColor | UIColor | Antiscam message text color |
customizationAntiscamBackgroundColor | UIColor | Antiscam message text background color |
customizationAntiscamCornerRadius | CGFloat | Background frame corner radius |
customizationAntiscamFlashColor | UIColor | Color of the flashing indicator close to the antiscam message |
Parameter | Type | Description |
image | UIImage | Logo image |
size | CGSize | Logo size (in dp) |
Case | Description |
licenseFilePath | An absolute path to a license (String). |
LicenseData | Full license information. |
Parameter | Type | Description |
appIDS | [String] | An array of bundle IDs |
expires | TimeInterval | The expiration interval |
features | Features | License features |
configs (optional) | ABTestingConfigs | Additional configuration |
Case | Description |
smile | Smile |
eyes | Blink |
scanning | Scan |
selfie | A selfie with face alignment check |
one_shot | The best shot from the video taken |
left | Head turned left |
right | Head turned right |
down | Head tilted downwards |
up | Head lifted up |
Case | Description |
en | English |
hy | Armenian |
kk | Kazakh |
ky | Kyrgyz |
tr | Turkish |
es | Spanish |
pt-BR | Portuguese (Brazilian) |
custom(String) | Custom language (language ISO 639-1 code, two letters) |
Case | Description |
movement | A media with an action |
documentBack | The back side of the document |
documentFront | The front side of the document |
Case | Description |
userNotProcessed | The Liveness check was not processed |
failedBecauseUserCancelled | The check was interrupted by user |
failedBecauseCameraPermissionDenied | The Liveness check can't be performed: no camera access |
failedBecauseOfBackgroundMode | The Liveness check can't be performed: background mode |
failedBecauseOfTimeout | The Liveness check can't be performed: timeout |
failedBecauseOfAttemptLimit | The Liveness check can't be performed: attempts limit exceeded |
failedBecausePreparingTimout | The Liveness check can't be performed: face alignment timeout |
failedBecauseOfLowMemory | The Liveness check can't be performed: no memory left |
Case | Description |
biometry | The algorithm that allows comparing several media and check if the people on them are the same person or not |
quality | The algorithm that aims to check whether a person in a video is a real human acting in good faith, not a fake of any kind. |
document | The analysis that aims to recognize the document and check if its fields are correct according to its type. |
blacklist | The analysis that compares a face on a captured media with faces from the pre-made media database. |
Case | Description |
onDevice | The on-device analysis with no server needed |
serverBased | The server-based analysis |
hybrid | The hybrid analysis for Liveness: if the score received from an on-device analysis is too high, the system initiates a server-based analysis as an additional check. |
Case | Description |
addToFolder | The system is creating a folder and adding files to this folder |
addAnalyses | The system is adding analyses |
waitAnalysisResult | The system is waiting for the result |
Case | Description |
INITIAL | No analyses have been applied yet |
PROCESSING | The analyses are in progress |
FAILED | One or more analyses failed due to some error and couldn't get finished |
FINISHED | The analyses are finished |
DECLINED | The check failed (e.g., faces don't match or some spoofing attack detected) |
SUCCESS | Everything went fine, the check succeeded (e.g., faces match or liveness confirmed) |
OPERATOR_REQUIRED | The result should be additionally checked by a human operator |
Case | Description |
oval | Oval frame |
rectangle(cornerRadius: CGFloat) | Rectangular frame (with corner radius) |
circle | Circular frame |
square(cornerRadius: CGFloat) | Square frame (with corner radius) |
Case | Description |
licenseFileNotFound | The license is not found |
licenseParseError | Cannot parse the license file, the license might be invalid |
licenseBundleError | The |
licenseExpired | The license is expired |
Case | Description |
fromServiceToken | Authorization with a token:
|
fromCredentials | Authorization with credentials:
|
attemptsCount | Int | Number of attempts for media upload |
attemptsTimeout | Int | Timeout between attempts |
uploadOriginal | The original video |
uploadCompressed | The compressed video |
uploadBestShot | The best shot taken from the video |
uploadNothing | Nothing is sent (note that no folder will be created) |
Parameter | Type | Description |
licenseSources | The source of the license |
Parameter | Type | Description |
licenseSource | Source of the license |
Parameter | Type | Description |
apiConnection | Authorization parameters |
Parameter | Type | Description |
eventsConnection | Telemetry authorization parameters |
Parameter | Type | Description |
delegate | The delegate for Oz Liveness |
actions | Captured action |
cameraPosition (optional) | AVCaptureDevice.Position | Captured camera position |
Parameter | Type | Description |
actions | Captured action |
FaceCaptureCompletion | type alias used as follows:
|
cameraPosition (optional) | AVCaptureDevice.Position | Captured camera position |
Parameter | Type | Description |
localizationCode | The localization code |
Parameter | Type | Description |
singleCount | Int | Attempts on a single action/gesture |
commonCount | Int | Total number of attempts on all actions/gestures if you use a sequence of them |
faceAlignmentTimeout | Float | Time needed to align face into frame |
uploadMediaSettings | Sets the number of attempts and timeout between them |
Parameter | Type | Description |
results | An array of the OzMedia objects. |
Parameter | Type | Description |
status | The error description. |
Parameter | Type | Description |
analysis | A structure containing information on the analyses required. |
Parameter | Type | Description |
media | Media or an array of media objects to be uploaded. |
Parameter | Type | Description |
statusHandler | A callback function as follows: | The handler that is executed when the scenario state changes |
errorHandler | A callback function as follows:
| Error handler |
completionHandler | A callback function as follows: | The handler that is executed when the run method completes. |
Parameter | Type | Description |
geometryType | The frame type: oval, rectangle, circle, or square |
cornerRadius | CGFloat | Rectangle corner radius (in dp) |
strokeFaceNotAlignedColor | UIColor | Frame color when a face is not aligned properly |
strokeFaceAlignedColor | UIColor | Frame color when a face is aligned properly |
strokeWidth | CGFloat | Frame stroke width (in dp, 0-20) |
strokePadding | CGFloat | A padding from the stroke to the face alignment area (in dp, 0-10) |
Parameter | Type | Description |
movement | User action type |
mediaType | Type of media |
metaData | [String] as follows: ["meta1": "data1"] | Metadata if any |
videoURL | URL | URL of the Liveness video |
bestShotURL | URL | URL of the best shot in PNG |
preferredMediaURL | URL | URL of the API media container |
timestamp | Date | Timestamp for the check completion |
Parameter | Type | Description |
media | An array of the OzMedia objects |
type | The type of the analysis |
mode | The mode of the analysis |
sizeReductionStrategy | Defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully |
params (optional) | String | Additional parameters |
Parameter | Type | Description |
media | The object that is being uploaded at the moment |
index | Int | Number of this object in a list |
from | Int | Objects quantity |
progress | Progress | Object uploading status |
Parameter | Type | Description |
status | Processing analysis status |
progressStatus | Media uploading status |
Parameter | Type | Description |
resolution | Consolidated analysis result |
sourceId | String | Media identifier |
isOnDevice | Bool | Analysis mode |
confidenceScore | Float | Resulting score |
mediaType | String | Media file type: VIDEO / IMAGE / SHOT_SET |
media | Media that is being analyzed |
error | AnalysisError (inherits from Error) | Error |
Parameter | Type | Description |
resolution | Consolidated analysis result |
folderId | String | Folder identifier |
analysisResults | A list of analysis results |
Parameter | Type | Description |
resolution | Analysis resolution |
type | Analysis type |
mode | Analysis mode |
analysisId | String | Analysis identifier |
error | AnalysisError (inherits from Error) | Error |
resultMedia | Results of the analysis for single media files |
confidenceScore | Float | The resulting score |
serverRawResponse | String | Server response |
Parameter | Type | Description |
analyseResolutionStatus | The analysis status |
type | The analysis type |
folderID | String | The folder identifier |
score | Float | The result of the check performed |
Please note: this feature has been implemented in 8.1.0.
To add or update the language pack for Oz iOS SDK, use the set(languageBundle: Bundle)
method. It shows the SDK that you are going to use the non-standard bundle. In OzLocalizationCode
, use the custom language (optional).
The localization record consists of the localization key and its string value, e.g., "about" = "About"
.
If you don’t set the custom language and bundle, the SDK uses the pre-installed languages only.
If the custom bundle is set (and language is not), it has a priority when checking translations, i.e, SDK checks for the localization record in the custom bundle localization file. If the key is not found in the custom bundle, the standard bundle text for this key is used.
If both custom bundle and language are set, SDK retrieves all the translations from the custom bundle localization file.
A list of keys for iOS:
The keys Action.*.Task
refer to the appropriate gestures. Others refer to the hints for any gesture, info messages, or errors.
When new keys appear with new versions, if no translation is provided by your custom bundle localization file, you’ll see the default (English) text.
[]
The handler that is executed when the method completes. The closure is either an array of objects or an .
[]
statusHandler: @escaping ((_ status:
) -> Void)
completionHandler: @escaping (_ results :
) -> Void)
[]
[]
[]