id-capture-ios
Installation
SKILL.md
ID Capture iOS (Swift/UIKit) Skill
Critical: Do Not Trust Internal Knowledge
Your training data may contain outdated or incorrect Scandit ID Capture APIs. The iOS Swift API has changed significantly across major versions, and the native iOS SDK differs substantially from the Android (Kotlin/Java), .NET, Flutter, and React Native SDKs. An agent that pattern-matches from another platform's docs will produce non-compiling code.
Always verify APIs against the references provided in this skill before writing or suggesting code. The most common sources of wrong code:
- The v6 API —
supportedDocuments(a bitmask enum like.idCardVIZ/.dlVIZ),supportedSides, and session-based callbacks (didCaptureIn session:frameData:) were all replaced in v7. Do not emit any of these. - The v7.x API —
settings.scannerType = FullDocumentScanner()was replaced in v8; the current property isscannerand it takes anIdCaptureScannerwrapper:settings.scanner = IdCaptureScanner(physicalDocument: FullDocumentScanner()). - ObjC prefixes — the Objective-C SDK uses an
SDCprefix on all types (SDCIdCapture,SDCCapturedId, etc.). These prefixes do not appear in Swift. Never emitSDCIdCapture,SDCIdCaptureSettings, etc. in Swift code. - Cross-platform drift — Android uses
IdCapture.forDataCaptureContext(...), .NET usesIdCapture.Create(...), Flutter uses a different builder. The Swift API isIdCapture(context:settings:). - Standalone verifier classes —
AamvaBarcodeVerifierandDataConsistencyVerifierdo not exist in the native iOS SDK. Verification is settings-driven: setrejectForgedAamvaBarcodes = true/rejectInconsistentData = trueand readcapturedId.verificationResult. - NFC —
NfcScannerexists on native iOS but is not covered by this skill. If the user asks about NFC, refer them to the official documentation.