label-capture-kmp
Label Capture KMP Skill
Critical: Do Not Trust Internal Knowledge
Scandit's Kotlin Multiplatform (KMP) SDK is new: Label Capture first shipped on KMP at SDK 8.6. Your training data almost certainly has no KMP-specific knowledge of this API, and may confuse it with the single-platform Android or iOS Label Capture APIs, which use different types and package names. Do not port Android or iOS snippets by guessing at renamed symbols.
- The Kotlin package is
com.kmp.datacapture.label.*(com.kmp.datacapture.label.capture,.definition,.ui.overlay,.adaptive) — notcom.scandit.datacapture.label.*(that is the single-platform Android package). - The Maven group is
com.scandit.datacapture.kmp(artifactscore,barcode,label,label-compose, plus the model container add-onslabel-textandprice-label) — notcom.scandit.datacapture(single-platform Android) and not a CocoaPod/SPM-only distribution (single-platform iOS). - The mode is constructed with
LabelCapture.forContext(dataCaptureContext, settings), notLabelCapture.forDataCaptureContext(...)(Android) or a Swift initializer. - Field definitions are built with the shared
LabelDefinitionBuilder(viaLabelCaptureSettingsBuilder().label(name) { ... }or the top-levellabelCaptureSettings { ... }DSL) — regex setters aresetValueRegex(es)/setAnchorRegex(es)from day one. There was never a legacysetPattern/setDataTypePatternera on KMP (that rename happened on Android at the 7.x→8.0 boundary, before KMP existed) — do not invent or "migrate" a KMP regex-rename story. - The license key placeholder is exactly
-- ENTER YOUR SCANDIT LICENSE KEY HERE --. - iOS embedding uses
DataCaptureView(dataCaptureContext:)+.toUIView(); Android embedding usesDataCaptureView(context, dataCaptureContext)+.toAndroidView(). Neither is a raw AndroidVieworUIViewconstructor from the single-platform SDKs.
Always verify APIs against references/integration.md before writing or suggesting code. Do not rely on memorized method signatures, parameters, or builder shapes from the single-platform Android/iOS Label Capture skills. If you cannot find an API in the provided reference, fetch the relevant documentation page before responding.
Intent Routing
Based on the user's request, read references/integration.md and jump to the relevant section before responding: