Skip to main content

System Requirements

Native SDK

iOS

RequirementVersion
iOS14.0+
Architecturearm64, x86_64
Camera720p+
GPU

Android

RequirementVersion
Android7.0+ (API level 24)
Java8+
Architecturearm64v7, arm64, x86, x86_64
Camera720p+
GPU
note

On Android hardware acceleration has to be enabled for the camera preview to work. Hardware acceleration is enabled by default since API level 14 but can potentially be turned off in the Manifest, do not do this if you use the camera.

Linux

Supported distributions:

  • Ubuntu 18.04 or newer
  • Debian/GNU Linux 10 (Buster) or newer
  • Raspbian 2017-08-17 or newer
note

Most Debian/GNU Linux based systems should be supported as as long as the dependency requirements below are met.

RedHat based systems (RPM packages) are not supported officially. The tool 'alien' can be used to convert the Debian packages to RPM packages. If you want to run the SDK on any other Linux distribution, unpack the .deb file and install the library and headers manually.

Dependencies

RequirementVersion
GCC (or a comparable compiler)>= 4.9
libc>= 2.27
pthread-
dbus>= 1.6.8
zlib>= 1.2.8 (i386 and arm64 only)
NEON CPU support (armhf only)-
OpenGLES (optional for GPU acceleration)>= 2.0
Python (optional for the Python bindings)>= 3.0

Web SDK

RequirementNotes
BlobBlob is used to store the video stream. Check supported browser versions.
WebAssemblyWebAssembly is used to run the video processing algorithms. Check supported browser versions.
URL/createObjectURLURL.createObjectURL is used to create a URL for the video stream. Check supported browser versions.
Web WorkersWeb Workers are used to run the video processing algorithms in a separate thread. Check supported browser versions.
SharedArrayBufferSharedArrayBuffer is required for simultaneous multiple barcode tracking. Check supported browser versions.
MediaDevices.getUserMediaOptional. MediaDevices.getUserMedia is required for camera video streaming. Check supported browser versions.
OffscreenCanvasOptional. OffscreenCanvas allows for GPU acceleration in Web Worker. Check supported browser versions.
WebGLOptional. WebGL is used for GPU acceleration. Check supported browser versions.
WebAssembly SIMDOptional. WebAssembly SIMD is used for OCR computation acceleration.

Browser Compatibility

BrowserThreadsSingle thread
Chrome68+64+
Edge79+79+
Firefox105+105+
Opera55+44+
Safari15.2+13+
Chrome Android89+64+
Firefox Android105+105+
Opera Android63+46+
Safari iOS / Chrome iOS (webkit)16.4+14.6+
Samsung Internet15+7+
Webview AndroidNoYes

Frameworks

These platforms are based on the native platforms and therefore the requirements of native platforms apply as well. If a framework has stricter requirements (e.g. it only supports newer versions of Android/iOS) it is explicitly stated.

PlatformRequirements
Capacitor- Capacitor 5.0.0
- Swift 4.0+
Cordova- cordova 12.0.0
- cordova-android 10.0.0
- cordova-ios 6.3.0
- Swift 4.0+
Flutter- Flutter 3.22.0+ (Dart 3.4.0+)
- Swift 4.0+
Xamarin.Android- Xamarin.Android 13.2.2
- Kotlin 1.9.25
Xamarin.iOS- Xamarin.iOS 16.4.0.23
Xamarin.Forms- Xamarin.Forms 4.8
- Kotlin 1.9.25
React Native- react-native 0.70+ (0.72+ recommended for modern toolchain support)
- Kotlin 1.9.25
- Swift 4.0+
Titanium- Titanium 13.0.0+
.NET for iOS- .NET SDK 6.0.403+
.NET for Android- .NET SDK 6.0.403+
- Kotlin 1.9.25
warning

React Native Known Issues: While Our SDK integrates perfectly with React Native 0.70.x, this version has known build toolchain compatibility issues with modern development environments (unrelated to the Scandit SDK). These are React Native framework limitations and not caused by the Scandit SDK. We recommend using React Native 0.72+ to avoid these issues.:

  • Android Gradle Plugin version conflicts
  • Kotlin version incompatibilities
  • AndroidX dependency version matrix issues