Overview
A fundamental requirement for scanning barcodes is to enable each specific symbology within the Scandit engine. Review the code snippets below to see how to enable them per platform or framework.
⚠️ The code snippets below assume use of the BarcodeCapture API, and will be similar (though not identical) if using another mode with mode settings. See the full list below:
|
⚠️ You can review the complete list of Scandit's supported Barcode Symbologies and submit a support ticket to add symbologies to your license key permissions (indicated by "Error 24" shown on screen.) |
iOS
Swift
private func setupScanning() {
...
let barcodeCaptureSettings = BarcodeCaptureSettings()
barcodeCaptureSettings.set(symbology: .ean13UPCA, enabled: true)
barcodeCaptureSettings.set(symbology: .ean8, enabled: true)
barcodeCaptureSettings.set(symbology: .upce, enabled: true)
barcodeCaptureSettings.set(symbology: .qr, enabled: true)
barcodeCaptureSettings.set(symbology: .dataMatrix, enabled: true)
barcodeCapture = BarcodeCapture(context: dataCaptureContext, settings: barcodeCaptureSettings)
...
}
Objective-C
- (void)setupScanning {
...
self.dataCaptureContext = [SDCDataCaptureContext contextForLicenseKey:@"-- ENTER YOUR SCANDIT LICENSE KEY HERE --"];
SDCBarcodeCaptureSettings *barcodeCaptureSettings = [SDCBarcodeCaptureSettings settings];
[barcodeCaptureSettings setSymbology:SDCSymbologyEAN13UPCA enabled:YES];
[barcodeCaptureSettings setSymbology:SDCSymbologyEAN8 enabled:YES];
[barcodeCaptureSettings setSymbology:SDCSymbologyUPCE enabled:YES];
[barcodeCaptureSettings setSymbology:SDCSymbologyQR enabled:YES];
[barcodeCaptureSettings setSymbology:SDCSymbologyDataMatrix enabled:YES];
self.barcodeCapture = [SDCBarcodeCapture barcodeCaptureWithContext:self.dataCaptureContext settings:barcodeCaptureSettings];
...
}
API Reference
Android
Kotlin
private fun setupScanning() {
...
val barcodeCaptureSettings = BarcodeCaptureSettings()
val symbologies = hashSetOf(
Symbology.EAN13_UPCA,
Symbology.EAN8,
Symbology.UPCE,
Symbology.QR,
Symbology.DATA_MATRIX,
Symbology.CODE39,
Symbology.CODE128,
Symbology.INTERLEAVED_TWO_OF_FIVE
)
barcodeCaptureSettings.enableSymbologies(symbologies)
barcodeCapture = BarcodeCapture.forDataCaptureContext(dataCaptureContext, barcodeCaptureSettings)
...
}
Java
private void setupScanning() {
...
BarcodeCaptureSettings barcodeCaptureSettings = new BarcodeCaptureSettings();
HashSet<Symbology> symbologies = new HashSet<>();
symbologies.add(Symbology.EAN13_UPCA);
symbologies.add(Symbology.EAN8);
symbologies.add(Symbology.UPCE);
symbologies.add(Symbology.QR);
symbologies.add(Symbology.DATA_MATRIX);
symbologies.add(Symbology.CODE39);
symbologies.add(Symbology.CODE128);
symbologies.add(Symbology.INTERLEAVED_TWO_OF_FIVE);
barcodeCaptureSettings.enableSymbologies(symbologies);
barcodeCapture = BarcodeCapture.forDataCaptureContext(dataCaptureContext, barcodeCaptureSettings);
...
}
API Reference
Web
Typescript / JavaScript
const setupScanning = () => {
...
barcodeCaptureSettings: BarcodeCaptureSettings = new BarcodeCaptureSettings();
barcodeCaptureSettings.enableSymbologies([
Symbology.EAN13UPCA,
Symbology.EAN8,
Symbology.UPCE,
Symbology.QR,
Symbology.DataMatrix,
Symbology.Code39,
Symbology.Code128,
Symbology.InterleavedTwoOfFive,
]);
const barcodeCapture = await BarcodeCapture.forContext(dataCaptureContext, barcodeCaptureSettings);
}
API Reference
React Native
Typescript / JavaScript
const setupScanning = () => {
...
barcodeCaptureSettings = new BarcodeCaptureSettings();
barcodeCaptureSettings.enableSymbologies([
Symbology.EAN13UPCA,
Symbology.EAN8,
Symbology.UPCE,
Symbology.QR,
Symbology.DataMatrix,
Symbology.Code39,
Symbology.Code128,
Symbology.InterleavedTwoOfFive,
]);
const barcodeCapture = BarcodeCapture.forContext(dataCaptureContext, barcodeCaptureSettings);
...
}
API Reference
Capacitor
Typescript / JavaScript
function setupScanning() {
...
barcodeCaptureSettings = new BarcodeCaptureSettings();
barcodeCaptureSettings.enableSymbologies([
Symbology.EAN13UPCA,
Symbology.EAN8,
Symbology.UPCE,
Symbology.QR,
Symbology.DataMatrix,
Symbology.Code39,
Symbology.Code128,
Symbology.InterleavedTwoOfFive,
]);
window.barcodeCapture = BarcodeCapture.forContext(dataCaptureContext, barcodeCaptureSettings);
...
}
API Reference
Flutter
Dart
void setupScanning() {
...
_barcodeCaptureSettings = BarcodeCaptureSettings();
_barcodeCaptureSettings.enableSymbologies({
Symbology.ean8,
Symbology.ean13Upca,
Symbology.upce,
Symbology.qr,
Symbology.dataMatrix,
Symbology.code39,
Symbology.code128,
Symbology.interleavedTwoOfFive
});
_barcodeCapture = BarcodeCapture.forContext(_dataCaptureContext, _barcodeCaptureSettings)
...
}
API Reference
Xamarin
C#
private setupScanning() {
...
this.BarcodeCaptureSettings = BarcodeCaptureSettings.Create();
HashSet<Symbology> symbologies = new HashSet<Symbology>()
{
Symbology.Ean13Upca,
Symbology.Ean8,
Symbology.Upce,
Symbology.Qr,
Symbology.DataMatrix,
Symbology.Code39,
Symbology.Code128,
Symbology.InterleavedTwoOfFive
};
barcodeCaptureSettings.EnableSymbologies(symbologies);
this.barcodeCapture = BarcodeCapture.Create(this.dataCaptureContext, barcodeCaptureSettings);
...
}
API Reference
- Xamarin iOS BarcodeCaptureSettings
- Xamarin Android BarcodeCaptureSettings
- Xamarin Forms BarcodeCaptureSettings
.NET/MAUI
C#
private setupScanning() {
...
this.BarcodeCaptureSettings = BarcodeCaptureSettings.Create();
HashSet<Symbology> symbologies = new HashSet<Symbology>()
{
Symbology.Ean13Upca,
Symbology.Ean8,
Symbology.Upce,
Symbology.Qr,
Symbology.DataMatrix,
Symbology.Code39,
Symbology.Code128,
Symbology.InterleavedTwoOfFive
};
barcodeCaptureSettings.EnableSymbologies(symbologies);
this.barcodeCapture = BarcodeCapture.Create(this.dataCaptureContext, barcodeCaptureSettings);
}
API Reference
Scandit Express
Coming soon.