Installing the React Native Barcode Scanner SDK
To install the Barcode Scanner SDK, run the following in your root project folder:
- npm
- Yarn
- Expo
npm install react-native-scanbot-barcode-scanner-sdk
yarn add react-native-scanbot-barcode-scanner-sdk
npx expo install react-native-scanbot-barcode-scanner-sdk
Integration with Expo
Integration with Expo is possible only when using a Development Build, not Expo Go. The project is configurable using our config plugin or by manually configuring the native projects.
To utilize the plugin, add the following in your app config file:
"plugins": [
[
"react-native-scanbot-barcode-scanner-sdk",
{
"iOSCameraUsageDescription": "Barcode Camera permissions",
"androidCameraPermission": true,
"androidCameraFeature": true,
"mavenURLs": true
}
]
],
iOSCameraUsageDescription: AddsNSCameraUsageDescriptionin Info.plist. The permission can also be added via Expo PermissionsandroidCameraPermission: Addsandroid.permission.CAMERApermission in AndroidManifest.xml. The permission can also be added via Expo PermissionsandroidCameraFeature: Addsandroid.hardware.camerafeature in AndroidManifest.xmlmavenURLs: Adds Scanbot Barcode Scanner SDK Maven URLs for Android local development. These URLs are already included in our package's build.gradle, but need to be added due to how Expo starts the Android app.podfileSPMHookEnabled: Adds a hook to the Podfile to enable Swift Package Manager support for older versions of React Native 0.87. If you are using React Native 0.87 or newer, you can remove this hook from your Podfile.
iOS SPM Support
The CocoaPods trunk repo is being deprecated, so the Scanbot iOS SDK is installed through Swift Package Manager (SPM) by default. React Native 0.87+ supports SPM out of the box, so no additional configuration is needed for these versions.
Podfile hook
For React Native < = 0.86, add the scanbot_spm hook to the post_install block of your Podfile:
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false,
)
scanbot_spm(installer)
end
Opting out of SPM (CocoaPods fallback)
You can opt out and use the CocoaPods dependency instead. This only applies for versions that have a CocoaPods fallback.
Bare React Native projects
To install the Scanbot iOS SDK through CocoaPods instead, set the $ScanbotSDKUseSPM flag to false at the top level of your Podfile,
before the first target block:
$ScanbotSDKUseSPM = false
target 'MyApp' do
# ...
end
With the flag set, the scanbot_spm hook skips its work, so you can leave it in post_install.
Run pod install again after changing the flag.
Expo
The Scanbot config plugin always adds the scanbot_spm hook to your Podfile. To opt out of SPM, set podfileSPMHookEnabled to false in the plugin config.
The plugin then also adds $ScanbotSDKUseSPM = false to your Podfile, and the hook skips its work.
{
"plugins": [
[
"react-native-scanbot-barcode-scanner-sdk",
{ "podfileSPMHookEnabled": false }
]
]
}
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial licenseScanbot SDK is part of the Apryse SDK product family
A mobile scan is just the start. With Apryse SDKs, you can expand mobile workflows into full cross‑platform document processing. Whether you need to edit PDFs, add secure digital signatures, or use a fast, customizable document viewer and editor, Apryse gives you the tools to build powerful features quickly.
Learn more
