sparkscan-flutter
Installation
SKILL.md
SparkScan Flutter 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 Flutter plugin surface (imports, plugin initialization, pub packages) 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.
Flutter-specific gotchas worth flagging:
await ScanditFlutterDataCaptureBarcode.initialize()must be called (and awaited) inmain()beforerunApp(...), afterWidgetsFlutterBinding.ensureInitialized(). Forgetting this yields a platform-channel error that can look unrelated to initialization.SparkScanViewis a FlutterStatefulWidgetthat wraps a child widget — it is not a pure native overlay. The child widget renders underneath the native scanning controls. Do not instruct users to stackSparkScanViewseparately from their normal widget tree.flutter pub getmust be run after every package version change. On iOS, the Podfile resolves transitively — no manual pod install needed unless the user has a custom setup.- Camera permission is required on both iOS (
NSCameraUsageDescriptioninios/Runner/Info.plist) and Android (runtime request viapermission_handler— the plugin declares the manifest permission automatically).
Intent Routing
Based on the user's request, load the appropriate reference file before responding: