🌐 Company Site - Here
🤗 Hugging Face - Here
🛟 Help Center - Here
🐳 Docker Hub - Here
Ready in ~10 minutes (after framework download): Unzip
docsdk.framework.zipinto this folder → Run on a phone Jump: Get the framework · Run the demo · Setup (your own app) · About SDK
Explore FacePlugin Document Reader SDK — ID cards, passports, driver licenses with OCR, MRZ and barcode.
This is an on-premise FacePlugin SDK. All processing stays on the device — no biometric data is sent to FacePlugin cloud.
This repository is the iOS demo app — a standalone customer repo. Runtime is docsdk.framework (download from Google Drive). No other FacePlugin repository is required.
| Feature | Supported |
|---|---|
| ID Card / Passport / Driver License | ✓ |
| MRZ / Barcode / QR / OCR | ✓ |
| Document detection & classification | ✓ |
| Auto-capture & image quality | ✓ |
| Platform | Repository |
|---|---|
| Android | ID-Document-Recognition-Android |
| iOS | ID-Document-Recognition-iOS |
| Windows | ID-Document-Recognition-Windows |
| Linux / Docker | ID-Document-Recognition |
| Step | What you need |
|---|---|
| 1 | Xcode 15+ and a real device (simulator is not recommended) |
| 2 | docsdk.framework in this folder — see Get the framework |
| 3 | Demo license is already in the repo (licenseKey for com.faceplugin.documentreader.app). Request a new key only if you change the bundle identifier — see SDK License |
You can run the sample app as-is. Camera and gallery unlock when the status bar shows Ready.
| Item | Minimum | Recommended |
|---|---|---|
| iOS | 13.0 | 16 or newer |
| Device | iPhone with A12 or newer | Recent iPhone |
| RAM | 4 GB | 6 GB or more |
| Camera | Rear camera | Auto-focus, 1080p |
| Device | Physical device | Same; simulator is not for camera |
docsdk.framework is a header stub on GitHub because the binary is too large. On Drive it is shipped as **docsdk.framework.zip** — unzip after you download.
DocumentReader-iOS-App runtime (Google Drive) — file: docsdk.framework.zip
- Clone this repo (if you have not already):
git clone https://github.com/Faceplugin-ltd/ID-Document-Recognition-iOS.git
cd ID-Document-Recognition-iOS- Download
**docsdk.framework.zip**from the Drive folder. - Unzip it (double-click in Finder, or
unzip docsdk.framework.zip). You should get adocsdk.frameworkfolder — not the.zip. - Put
**docsdk.framework**here (repo root, next toDocumentReader.xcodeproj— not in a nested folder, and not the zip file):
ID-Document-Recognition-iOS/
├── DocumentReader.xcodeproj
├── DocumentReader/
└── docsdk.framework/ ← unzipped (not .zip; engine is nested as Frameworks/dcrcore.framework)
If unzip creates docsdk.framework in Downloads, move that folder into this repo. You can delete the .zip afterward.
- Open DocumentReader.xcodeproj in Xcode.
- Set your Team for signing. Bundle ID is
com.faceplugin.documentreader.app. - Run on a device. The demo already has a valid
licenseKeyforcom.faceplugin.documentreader.app.
The status bar at the bottom of the home screen is the SDK status (Loading native SDK… → Ready). Camera and From Gallery stay disabled until it shows Ready. Home tiles are one row under the title: Camera | Gallery | About. Camera shows the live overlay; tap Capture when the score is ready (≥ 50%).
Licenses are offline and bound to your app identifier.
The sample app already includes a valid key for com.faceplugin.documentreader.app. You only need a new key if you use a different bundle identifier.
The code below shows how to use the license:
ID-Document-Recognition-iOS/DocumentReader/ViewController.swift
Lines 14 to 15 in be88a3a
ID-Document-Recognition-iOS/DocumentReader/ViewController.swift
Lines 147 to 149 in be88a3a
Please contact us to get the license.
You only need docsdk.framework and DocSDK. You do not need this demo’s ViewController / CameraViewController.
- Copy
docsdk.frameworkinto your project root. - In Xcode: General → Frameworks, Libraries, and Embedded Content → add it (Embed & Sign).
- Add a bridging header (Swift):
#import <docsdk/DocSDK.h>Project Navigator → Build Settings → Swift Compiler - General → Objective-C Bridging Header.
The license is bound to your bundle identifier. Request a key for that id, not the demo’s.
Call initSDK and all process methods off the main thread.
// Bridging header: #import <docsdk/DocSDK.h>Call initSDK and process methods off the main thread. 0 = DocSDKSuccess. Process methods return JSON.
DispatchQueue.global(qos: .userInitiated).async {
var ret = DocSDK.setActivation("FP1.…")
if ret == 0 {
ret = DocSDK.initSDK()
}
}let json = DocSDK.recognize(image)let json = DocSDK.recognizeFront(front, back: back, authenticity: true) // back may be nillet json = DocSDK.locateDocument(frame)
let data = Data(json.utf8)
let obj = (try? JSONSerialization.jsonObject(with: data)) as? [String: Any]
let score = obj?["score"] as? Double ?? 0
let corners = (obj?["position"] as? [String: Any])?["corners"]let json = DocSDK.recognize(still)let json = DocSDK.documentAuthenticity(image)DocSDK.deinitSDK(){
"errorCode": 0,
"documentName": "United States - California Driving License (2017) Real",
"ocr": { "dateOfBirth": "…" },
"mrz": { },
"barcode": { },
"images": [ { "name": "Portrait", "image": "<jpeg-base64>" } ]
}| Code | Constant | Status |
|---|---|---|
| 0 | DocSDKSuccess |
Activate / init OK |
| 1 | DocSDKLicenseInvalid |
Invalid license |
| 2 | DocSDKLicenseExpired |
Expired license |
| 3 | DocSDKNotActivated |
Not activated |
| 4 | DocSDKInitFailed |
Init failed |
- Face Recognition with Liveness Detection-Android (Java, Kotlin)
- Face Recognition with Liveness Detection-iOS (Objective C, Swift)
- Face Recognition with Liveness Detection-Windows
- Face Recognition with Liveness Detection-React Native
- Face Recognition with Liveness Detection-Flutter
- Face Recognition with Liveness Detection-Ionic Cordova
- Face Recognition with Liveness Detection-.Net MAUI
- Face Recognition with Liveness Detection-.Net WPF
- Face Recognition with Liveness Detection-Javascript
- Face Recognition with LivenessDetection-React
- Face Recognition with LivenessDetection-Vue
- Face Liveness Detection-Android (Java, Kotlin)
- Face Liveness Detection-iOS (Objective C, Swift)
- Face Liveness Detection-Windows
- Face Liveness Detection-Linux
- Face Liveness Detection-Docker
- Open Source Face Recognition SDK
- Face Recognition SDK
- Liveness Detection SDK
- Palm Recognition SDK
- ID Document Recognition-Android (Java, Kotlin)
- ID Document Recognition-Windows
- ID Document Recognition
- ID Document Liveness Detection


