用途:在 React Native 项目中集成 Scandit 的 BarcodeCapture(低层级、可完全控制的单条码扫描模式),并处理版本迁移。
主要能力与要点:BarcodeCapture 不是自包含视图组件,需渲染 DataCaptureView 并附加 BarcodeCaptureOverlay,自行用 Camera.default 驱动相机。DataCaptureContext.initialize(licenseKey) 必须在其他 Scandit API 之前且仅调用一次;不要调用 dataCaptureContext.dispose(),卸载时改为 removeMode、移除 overlay 与监听器,并将相机切到 FrameSourceState.Off。didScan 内应先设 barcodeCapture.isEnabled = false 再做导航/网络/UI 工作,完成后再启用,避免重复回调。iOS 每次安装或升级 Scandit 包后需运行 npx pod-install(或 cd ios && pod install),Android 由 Gradle 自动链接;升级后若行为陈旧可用 Metro 的 --reset-cache。相机权限:iOS 需在 Info.plist 配置 NSCameraUsageDescription,Android 需运行时请求 PermissionsAndroid。
使用方式:按请求加载 references/integration.md(从零集成)或 references/migration.md(迁移升级)。示例使用函数组件与 hooks(useRef、useEffect、useFocusEffect、useMemo)及 TypeScript;若项目为 JavaScript 则去掉类型标注。仅使用文档中明确列出的 API,不要猜测方法签名或 URL。
许可:扫描需要 Scandit 许可密钥,产品为 native,平台为 ios 和 android。可连接 Scandit MCP 调用 ensure_scanner_setup 并执行 get_license_env_command 写入 .env;未连接时可一次性添加 MCP(Claude Code:claude mcp add --transport http scandit https://ssl.scandit.com/mcp;Cursor 与 VS Code 见资料配置),认证为浏览器方式,不支持无头或 CI,仅提供试用密钥。也可在 https://ssl.scandit.com 自行生成密钥。React Native 不会自动加载 .env,需加载器(如 react-native-config)或直接把密钥写入许可调用处,聊天中只显示掩码预览。
限制:资料未提供具体收费、价格与效果数据;API 随主版本变化,须以官方参考为准。