.NET bindings for the BlinkID Swift library
Install
| Product | Versions |
|---|---|
| .NET |
README
SwiftBindings.BlinkID
Native Swift interop bindings for BlinkID, Microblink's ID document scanning SDK. These are not Objective-C proxy wrappers β they use .NET 10's native Swift interop for direct, high-performance calls into Swift APIs from C#.
π Full usage guide β β license-key initialization, scanning sessions, feeding camera frames or
UIImages, reading VIZ/MRZ/barcode results and cropped images, tuningScanningSettings, and the tag-enum / struct-copy patterns the binding uses.
Installation
dotnet add package SwiftBindings.BlinkID
Requirements
- .NET 10.0+
- iOS 15.0+
- macOS host for development
- A BlinkID licence key from Microblink (BlinkID is commercial)
Usage
using BlinkID;
using BlinkID.BlinkIDSDK;
// 1. Initialize the SDK with your Microblink license key.
using var settings = new BlinkIDSdkSettings(
licenseKey: "<your-microblink-license-key>",
licensee: null,
helloLogEnabled: false,
downloadResources: true,
resourceDownloadUrl: "https://models.cdn.microblink.com/resources");
var sdk = await BlinkIDSdk.CreateBlinkIDSdkAsync(settings);
// 2. Open a scanning session.
using var sessionSettings = new BlinkIDSessionSettings();
var session = await sdk.CreateScanningSessionAsync(sessionSettings);
// 3. Feed frames until the document is scanned.
using var roi = new RegionOfInterest();
using var input = new InputImage(uiImage, roi);
using var frame = await session.ProcessAsync(input);
using var process = frame.ProcessResult;
using var completeness = process?.ResultCompleteness;
if (completeness?.ScanningStatus == ScanningStatus.DocumentScanned)
{
// 4. Read the result.
using var result = await session.GetResultAsync();
string? fullName = result.FullName?.Value;
string? docNo = result.DocumentNumber?.Value;
}
This package binds the BlinkID core scanning engine β no camera, no UI. For Microblink's prebuilt camera scanning UX, use SwiftBindings.BlinkIDUX on top of this package.
Documentation
- Usage guide (wiki) β full C# walkthrough of the binding surface
- BlinkIDUX usage guide (wiki) β the camera scanning UX layered on this package
- Microblink BlinkID documentation β concepts, supported documents, quickstart
- Microblink developer hub β create and manage license keys
- blinkid-ios (upstream)
How It Works
These bindings are auto-generated by Swift Dotnet Bindings using .NET 10's native Swift interop via the SwiftBindings SDK.
Building from Source
Only needed if you're contributing or building the package locally.
# One-time: install the pinned Nuke CLI from .config/dotnet-tools.json
dotnet tool restore
# Build the package end-to-end (xcframework + bindings + dotnet build)
dotnet nuke BuildLibrary --library BlinkID
License
The bindings are MIT licensed. The BlinkID SDK itself is licensed by Microblink β refer to Microblink's licensing terms.
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.