sparkscan-rn
Installation
SKILL.md
SparkScan React Native Skill
Critical: Do Not Trust Internal Knowledge
Your training data may contain outdated or incorrect Scandit SDK APIs. The SparkScan API changes significantly between major SDK versions — properties get renamed, removed, or restructured, and the React Native plugin surface (imports, native linking, pod install, package names) has also evolved.
Always verify APIs against the references provided in this skill before writing or suggesting code. Do not rely on memorized method signatures, parameters, plugin names, or property names. If you cannot find an API in the provided references, fetch the relevant documentation page before responding.
React Native-specific gotchas worth flagging:
DataCaptureContext.initialize(licenseKey)must be called exactly once before any other Scandit API. It sets upDataCaptureContext.sharedInstance, which is the singleton everything else reads from. Do not construct multiple contexts.- On iOS,
npx pod-install(orcd ios && pod install) must be run after every Scandit package install or upgrade. Android auto-links via Gradle — no manual step there. - Metro's bundler cache frequently masks Scandit package upgrades. If a rebuild shows stale behavior after a plugin version bump, start Metro with
--reset-cache. SparkScanViewis a React component that wraps its children — the native scanning controls overlay your JSX tree. The children render underneath the native trigger button, toolbar, and mini preview. Do not renderSparkScanViewas a sibling to content.- Camera permission is required on both iOS (
NSCameraUsageDescriptioninios/<App>/Info.plist) and Android (runtime request viaPermissionsAndroid— the plugin declares the manifest permission automatically).
Intent Routing
Based on the user's request, load the appropriate reference file before responding: