π Company Site - Here
π€ Hugging Face - Here
π Help Center - Here
π³ Docker Hub - Here
Ready in ~10 minutes (after framework download): Unzip Drive frameworks into this folder β Run on a phone Jump: Quick start Β· Get the framework Β· Run the demo Β· Setup Β· About SDK
- Clone
https://github.com/Faceplugin-ltd/FaceLivenessDetection-iOS - Download the
.zipfiles from Google Drive - Unzip into this folder (
facelivenessdk.framework,FaceLivenessEngine.framework,onnxruntime.framework) - Open
FaceLivenessSDK.xcodeprojβ set your Team β Run on a physical iPhone - Home status shows ready β Liveness / Settings / About unlock
Your own app? Skip to Setup on your own app. Full API: doc.faceplugin.com.
FacePlugin Face Liveness Detection SDK for iOS is a fully on-device anti-spoofing engine for KYC and remote identity verification. iBeta level 2βclass passive liveness detects printed photos, video replay, 3D masks, and deepfake-style attacks β no extra hardware, no cloud.
All processing stays on the iPhone. No biometric data leaves the device.
This repository is the iOS demo app. Runtime frameworks download from Google Drive. No other FacePlugin repository is required.
| Demo tile | What it does |
|---|---|
| Liveness | Live camera anti-spoofing with face overlay + liveness metrics |
| Settings | Camera lens, liveness threshold |
| About | FacePlugin Face Liveness SDK β on-device anti-spoofing |
| Platform | Repository |
|---|---|
| Android (Recognition) | FaceRecognition-Android |
| iOS (Recognition) | FaceRecognition-iOS |
| React Native (Recognition) | FaceRecognition-React-Native |
| Flutter (Recognition) | FaceRecognition-Flutter |
| Ionic Capacitor (Recognition) | FaceRecognition-Ionic-Capacitor |
| Ionic Cordova (Recognition) | FaceRecognition-Ionic-Cordova |
| Windows (Recognition) | FaceRecognition-Windows |
| Linux / Docker (Recognition) | FaceRecognition-Docker |
| Android (Liveness) | FaceLivenessDetection-Android |
| iOS (Liveness) | FaceLivenessDetection-iOS (this repo) |
| Windows (Liveness) | FaceLivenessDetection-Windows |
| Linux / Docker (Liveness) | FaceLivenessDetection-Docker |
| Step | What you need |
|---|---|
| 1 | Xcode 15+ and a physical iPhone |
| 2 | Unzipped frameworks in this folder β see Get the framework |
| 3 | Demo license is already in the repo for com.faceplugin.facelivenessdk. Request a new key only if you change bundle id β see SDK License |
| Item | Minimum | Recommended |
|---|---|---|
| iOS | 13.0 | 16 or newer |
| Device | Physical iPhone | Same; simulator is not for camera / liveness |
Frameworks are stubs on GitHub because the binaries are too large. On Drive they ship as zips β unzip after download.
FaceLivenessSDK iOS (Google Drive) β facelivenessdk.framework.zip, FaceLivenessEngine.framework.zip, onnxruntime.framework.zip
git clone https://github.com/Faceplugin-ltd/FaceLivenessDetection-iOS.git
cd FaceLivenessDetection-iOSUnzip and place frameworks at the repo root (next to FaceLivenessSDK.xcodeproj):
FaceLivenessDetection-iOS/
βββ FaceLivenessSDK.xcodeproj
βββ FaceLivenessKit/
βββ FaceLivenessSDK/
βββ facelivenessdk.framework/
βββ FaceLivenessEngine.framework/
βββ onnxruntime.framework/
- Open FaceLivenessSDK.xcodeproj in Xcode.
- Set your Team for signing.
- Run on a device. The demo already has a valid
licenseKeyforcom.faceplugin.facelivenessdk.
Keep bundle id com.faceplugin.facelivenessdk for the included license.
| Home | Liveness | Settings | About |
|---|---|---|---|
Licenses are offline and bound to your bundle identifier.
The sample app already includes a valid key for com.faceplugin.facelivenessdk. You only need a new key if you use a different bundle identifier.
The code below shows how to use the license:
FaceLivenessDetection-iOS/FaceLivenessSDK/Home/ViewController.swift
Lines 136 to 148 in 1e546a4
Please contact us to get a license for your own app.
Minimal integration (details: doc.faceplugin.com):
- Add
facelivenessdk.framework,FaceLivenessEngine.framework, andonnxruntime.framework(Embed & Sign). - Optionally copy FaceLivenessKit for
FaceLivenessClienthelpers. - Activate once at launch (off the main thread):
FaceLivenessClient.shared.activate(license: "FP1.β¦") { code in β¦ }(0= success). - Add
NSCameraUsageDescriptioninInfo.plist.
Request a license for your bundle id, not the demoβs.
Use FaceLivenessKit (FaceLivenessClient.shared) or call the native SDK from Objective-C++. Call once per process: activate β init. Serialize native work. Full reference: doc.faceplugin.com.
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | License invalid |
| 2 | License expired |
| 3 | Not activated |
| 4 | Init failed |



