
Matrixscan Batch Ios
Wire Scandit Barcode Batch (MatrixScan) into an iOS UIKit app with camera lifecycle and overlay setup.
Install
npx skills add https://github.com/scandit/skills --skill matrixscan-batch-iosWhat is this skill?
- Initializes DataCaptureContext with Scandit license key placeholder
- Configures default camera with BarcodeBatch recommended camera settings
- Enables and disables barcodeBatch with viewWillAppear and viewWillDisappear
- Sets up DataCaptureView and BarcodeBatchBasicOverlay in UIKit
- SwiftUI ContentView stub included alongside UIKit ScanViewController pattern
Adoption & trust: 1 installs on skills.sh; 12 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Vercel React Native Skillsvercel-labs/agent-skills
Firebase Basicsfirebase/agent-skills
Building Native Uiexpo/skills
Firebase Ai Logic Basicsfirebase/agent-skills
Native Data Fetchingexpo/skills
Firebase Firestorefirebase/agent-skills
Journey fit
Common Questions / FAQ
Is Matrixscan Batch Ios safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Matrixscan Batch Ios
import SwiftUI struct ContentView: View { var body: some View { Text("Hello, World!") } } import UIKit class ScanViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } } import ScanditBarcodeCapture import UIKit class ScanViewController: UIViewController { private lazy var context: DataCaptureContext = { DataCaptureContext.initialize(licenseKey: "-- ENTER YOUR SCANDIT LICENSE KEY HERE --") return DataCaptureContext.shared }() private var camera: Camera? private var barcodeBatch: BarcodeBatch! private var captureView: DataCaptureView! private var overlay: BarcodeBatchBasicOverlay! override func viewDidLoad() { super.viewDidLoad() setupRecognition() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) barcodeBatch.isEnabled = true camera?.switch(toDesiredState: .on) } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) barcodeBatch.isEnabled = false camera?.switch(toDesiredState: .off) } private func setupRecognition() { camera = Camera.default context.setFrameSource(camera, completionHandler: nil) let cameraSettings = BarcodeBatch.recommendedCameraSettings camera?.apply(cameraSettings, completionHandler: nil) let settings = BarcodeBatchSettings() settings.set(symbology: .ean13UPCA, enabled: true) settings.set(symbology: .code128, enabled: true) barcodeBatch = BarcodeBatch(context: context, settings: settings) barcodeBatch.addListener(self) captureView = DataCaptureView(context: context, frame: view.bounds) captureView.autoresizingMask = [.flexibleWidth, .flexibleHeight] view.addSubview(captureView) overlay = BarcodeBatchBasicOverlay(barcodeBatch: barcodeBatch, view: captureView) } } extension ScanViewController: BarcodeBatchListener { func barcodeBatch( _ barcodeBatch: BarcodeBatch, didUpdate session: BarcodeBatchSession, frameData: FrameData ) { let addedData = session.addedTrackedBarcodes.compactMap { $0.barcode.data } DispatchQueue.main.async { for data in addedData { _ = data } } } } { "skill_name": "matrixscan-batch-ios", "evals": [ { "id": 1, "prompt": "I want to add MatrixScan Batch to my iOS app. Here's my empty view controller: EmptyViewController.swift. I need to scan EAN-13 and QR barcodes. Please show me the complete updated view controller code in your response.", "expected_output": "The skill reads integration.md, returns complete BarcodeBatch integration code inline (DataCaptureContext via DataCaptureContext.initialize + .shared, Camera.default with BarcodeBatch.recommendedCameraSettings, BarcodeBatch(context:settings:), DataCaptureView added as subview, BarcodeBatchBasicOverlay, BarcodeBatchListener with barcodeBatch(_:didUpdate:frameData:), lifecycle on viewWillAppear/viewWillDisappear, removeListener in deinit), and shows the setup checklist.", "files": [ "fixtures/EmptyViewController.swift" ], "assertions": [ {"text": "Setup checklist is shown and mentions adding ScanditBarcodeCapture and ScanditCaptureCore via Swift Package Manager"}, {"text": "Setup checklist mentions adding NSCameraUsageDescription to Info.plist"}, {"text": "A license key placeholder string is present"}, {"text": "import ScanditBarcodeCapture is added"}, {"text": "DataCaptureContext.initialize(licenseKey: is called and DataCaptureContext.shared is used"}, {"text": "BarcodeBatchSettings is constructed and configured"}, {"text": "Symbology .ean13UPCA is enabled via settings.set(symbology:enabled:)"}, {"text": "Symbology .qr is enabled"}, {"