dependencies: [
.package(url: "path/to/OkIDVerificationSDK", from: "1.0.0")
]Or in Xcode: File → Add Packages → Enter path
import OkIDVerificationSDK
let config = OkIDSDKConfig(
baseUrl: "https://api.okid.com"
)<key>NSCameraUsageDescription</key>
<string>Required for document and selfie capture</string>
<key>NFCReaderUsageDescription</key>
<string>Required to read passport chip</string>await OkIDVerificationSDK.shared.startVerification(
verificationId: "ver_xxx",
config: config,
from: viewController
)let result = await OkIDVerificationSDK.shared.startVerificationForResult(
verificationId: "ver_xxx",
config: config,
from: viewController
)
if result?.isSuccess == true {
// Success!
}let result = await OkIDVerificationSDK.shared.startFromQRCode(
from: viewController,
config: config
)// Check status
let status = await OkIDVerificationSDK.shared.getProfileStatus()
// Manage
await OkIDVerificationSDK.shared.manageProfile(from: vc, config: config)
// Delete
await OkIDVerificationSDK.shared.deleteProfile()let theme = OkIDThemeConfig(
colors: OkIDColorPalette(
primary: .systemBlue,
secondary: .systemGray,
accent: .systemGreen,
warning: .systemOrange,
error: .systemRed,
background: .white,
surface: .systemGray6,
text: .black,
textSecondary: .systemGray,
border: .systemGray4
),
typography: .defaultConfig,
spacing: .defaultConfig,
branding: OkIDBrandingConfig(
organizationName: "Your Company",
logoImage: UIImage(named: "logo"),
primaryColor: .systemBlue,
secondaryColor: .systemGray
),
borderRadius: .defaultConfig
)
let config = OkIDSDKConfig(baseUrl: "...", theme: theme)do {
let apiClient = VerificationAPIClient(config: config)
let response = try await apiClient.uploadDocument(...)
} catch let error as OkIDAPIError {
print("API Error: \\(error.localizedDescription)")
}OkIDVerificationSDK/
├── Sources/
│ ├── Core/ # Main SDK + Config
│ ├── Models/ # Data models (Codable)
│ ├── Services/ # API, Storage, Detection
│ ├── Modules/ # UI modules (7 modules)
│ └── Utils/ # Helpers, Extensions
├── Package.swift # SPM manifest
├── README.md # Full documentation
├── Example.swift # Code examples
└── IMPLEMENTATION_SUMMARY.md # Technical details
Core (2): SDK entry point + Configuration
Models (6): All data structures
Services (6): API, Storage, Face/NFC detection
Modules (7): Terms, Document, Liveness, FormData, Validation, QR, Profile
Utils (3): QR parser, Blur detection, Extensions
Built entirely with native iOS frameworks:
- Foundation, UIKit, AVFoundation
- Vision, CoreNFC, Security
✅ Async/await throughout
✅ Document + Selfie capture
✅ NFC passport reading
✅ QR code scanning
✅ Secure profile storage (Keychain)
✅ Face detection (Vision)
✅ Image quality (blur detection)
✅ Custom theming
✅ Desktop sync (SSE)
✅ Full error handling
- iOS 13.0+
- Swift 5.7+
- Xcode 14.0+
- See README.md for complete documentation
- Check Example.swift for usage patterns
- Read IMPLEMENTATION_SUMMARY.md for architecture
Pure native iOS SDK with async/await
Translated from the reference implementation with full feature parity
Location: /Users/karen/Documents/tests_sdk/OkIDVerificationSDK/