Integrating Mobile SDK for iOS
📘 Overview
- Library Name:
IntellicheckSDK - Latest Version:
1.0.0 - Purpose: Enables scanning and verification of identity documents such as driver's licenses and passports.
📋 Requirements
- MinimumOSVersion: 11
- Xcode SDK / Deployment Target: 17
- Hardware: A device with a high-quality camera capable of scanning PDF417 barcodes.
🚀 Integration Steps
1. Obtain the SDK
To receive the SDK archive, contact our support team and request the file named:
- IntellicheckSDK.zip
2. Add the SDK to Your Project
2.1 Configure SDK Versions
In Info.plist:
<key>MinimumOSVersion</key>
<string>11.0</string>In Xcode project settings:
- Set Deployment Target to 11.0
- Use iOS 17 SDK for compiling (comes with Xcode 15 or later)
2.2 Add SDK Files
Create a folder named Frameworks in the root directory of your Xcode project. Unzip IntellicheckSDK.zip into the Frameworks folder.
Your folder structure should look like:
project-root/
└── Frameworks/
└── IntellicheckSDK/
└── intellicheck.framework/
2.3 Link the framework
- Go to your project settings → General tab.
- Under Frameworks, Libraries, and Embedded Content, click the + button.
- Select
Intellicheck.frameworkand set it to Embed & Sign. - Update Build Settings (if needed):
- Go to Build Settings → Framework Search Paths.
- Add:
$(PROJECT_DIR)/Frameworks/IntellicheckSDK
🧪 Usage Examples
Basic Usage
- Use
IntellicheckActivityfor basic document verification. - Use configuration settings for optional extras.
IntellicheckActivity returns a transaction_id after successful scanning.
- Use
transaction_idto obtain results. IntellicheckActivity.RESULT_TRANSACTION_IDis aconstantto get thetransaction_id.
To launch the SDK without additional configuration:
import UIKit
import IntellicheckSDK
class ViewController: UIViewController {
func launchIntellicheckSDK() {
let sdkViewController = IntellicheckViewController()
sdkViewController.completionHandler = { transactionId in
// Handle transaction ID
print("Transaction ID: \(transactionId)")
}
self.present(sdkViewController, animated: true, completion: nil)
}
}
Advanced Usage with Configuration
import UIKit
import IntellicheckSDK
class ViewController: UIViewController {
func launchIntellicheckSDK(with currentSettings: SDKSettings) {
let config = IntellicheckConfiguration(
faceCheckState: currentSettings.faceCheckState,
darkModeEnabled: currentSettings.darkModeState,
backgroundColor: currentSettings.backgroundColor,
primaryColor: currentSettings.primaryColor,
mainFontColor: currentSettings.mainFontColor,
buttonOutlineColor: currentSettings.buttonOutline,
buttonFontColor: currentSettings.buttonFontColor,
descriptionFont: currentSettings.descriptionFont,
buttonFont: currentSettings.buttonFont,
descriptionBoldFont: currentSettings.descriptionBoldFont,
buttonCornerRadius: currentSettings.buttonCornerRadius,
organizationLogo: UIImage(named: currentSettings.organizationLogoName),
showScanningIsDoneScreen: currentSettings.showScanningIsDoneScreen,
serverCustomerId: currentSettings.serverCustomerId,
scanOnlyBarcode: currentSettings.scanOnlyBarcode
)
let sdkViewController = IntellicheckViewController(configuration: config)
sdkViewController.completionHandler = { transactionId in
// Handle transaction ID
print("Transaction ID: \(transactionId)")
}
self.present(sdkViewController, animated: true, completion: nil)
}
}⚙️ Configuration Options
| Setting | Type | Description |
|---|---|---|
faceCheckState | Boolean | Enable face check (true to activate). |
darkModeState | Boolean | Run in dark mode (true to enable). |
backgroundColor | Int | ARGB color integer for screen background. |
primaryColor | Int | ARGB color integer for primary UI elements. |
mainFontColor | Int | ARGB color integer for main text. |
buttonOutline | Int | ARGB color integer for button outlines. |
buttonFontColor | Int | ARGB color integer for button text. |
descriptionFont | FontType | Font type for description text. |
buttonFont | FontType | Font type for button text. |
descriptionBoldFont | FontType | Font type for bold description text. |
buttonCornerRadius | Int | Corner radius for buttons (0–100%). |
organizationLogo | Int | Drawable resource ID for logo on the start screen. |
showScanningIsDoneScreen | Boolean | Show “scanning complete” screen (true to enable). |
serverCustomerId | Int | Customer ID sent to backend during requests. |
scanOnlyBarcode | Boolean | Scan only barcode on Driver License screen (true to enable). |
❓ Need Help?
If you encounter issues or have questions, please contact our support team.
Updated about 3 hours ago
