ABBYY Mobile Capture React Native Module
ABBYY Mobile Capture React Native Module allows to use the Image Capture feature of ABBYY Mobile Capture in apps based on the React Native framework.
This plugin requires the ABBYY Mobile Capture native libraries which are available for Android and iOS. You can request ABBYY Mobile Capture trial version on the ABBYY website.
The native libraries support the following systems:
- Android version: 5.0 or later for ARMv7 (armeabi-v7a), ARMv8 (arm64-v8a), x86 and x86_64 processors
- iOS: versions 11.x and later
Getting started
Note If you are new to React Native, set up development environment first. You will need yarn
, npx
and cocoapods
(for iOS) utilities. See React Native documentation for details.
-
Choose one of the following ways to add the module to your project:
- From npm:
yarn add react-native-abbyy-mobile-capture
- From sources:
yarn add file:"Path to react-native-abbyy-mobile-capture sources"
-
Request ABBYY Mobile Capture trial version on the ABBYY website and add it to your project:
- Copy iOS
assets
directory to the project into./assets
folder. - Copy your license into
./assets
withMobileCapture.License
name - Copy Android
libs
directory to the project into./android/libs
folder - Copy iOS
libs
directory to the project into./ios/libs
folder
- Copy iOS
-
Proceed setup depending on the platform:
- Android:
- Add
gradle
file to the project. Usually it is located at./android/build.gradle
:allprojects { repositories { flatDir { dirs "$rootDir/libs" } } } subprojects { afterEvaluate { dependencies { // Change abbyy-mi-sdk-2.0 to abbyy-rtr-sdk-1.0 if you need to use recognition API (MI+Extended or MI+ExtendedDC) implementation(name: 'abbyy-mi-sdk-2.0', ext: 'aar') implementation(name: 'abbyy-ui-1.0', ext: 'aar') } } }
- Add to application
gradle
file. Usually it is located at./android/app/build.gradle
:android { defaultConfig { ndk { // Filter out mips abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } sourceSets { main { assets.srcDirs += [ "$rootDir/../assets" ] } } packagingOptions { pickFirst 'lib/x86/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' pickFirst 'lib/arm64-v8a/libc++_shared.so' pickFirst 'lib/x86_64/libc++_shared.so' } }
- Set minimum SDK version to '21'.
- Add
adb
utility to PATH environment variable.adb
is located inAndroid sdk directory/platform-tools directory
.
- Add
- iOS:
- Run
pod install
from iOS directory. - Select your project in the
Target
group and open theBuild Settings
tab. In theSearch Paths
section add to theFramework Search Paths
the following path:
${PROJECT_DIR}/libs
- On the
Build Options
tab setEnable Bitcode
option to No. - Open the
Build Phases
tab. In theLink Binary With Libraries
section, click "+" and add theAbbyyRtrSDK.framework
andAbbyyUI.framework
. - In
Build Phases
, add a newRun Script phase
. Run thecopy_frameworks.sh
script that removes the frameworks for the non-active CPU architectures (the complete list depends on the project settings), and sign the resulting framework. This is a required step before uploading your application to App Store.
/bin/sh "${SRCROOT}/libs/copy_frameworks.sh"
- To add the resource files and set up the copying rules, in
Build Phases
add one moreRun Script
phase. Run thecopy_assets.py
script to automatically copy all resource files to corresponding destinations and add necessary dictionaries.
python "${SRCROOT}/../assets/copy_assets.py"
- In
Build Phases
, go to theCopy Bundle Resources
section and add theMobileCapture.License
file. - In the
info.plist
file add permission for working with camera and gallery if necessary.
- Run
- Android:
ABBYY Mobile Capture React Native Module Example
How to run samples
-
Request ABBYY Mobile Capture trial version on the ABBYY website and add it to your project:
- Copy iOS
assets
directory to the project into./assets
folder. - Copy your license into
./assets
withMobileCapture.License
name - Copy Android
libs
directory to the project into./android/libs
folder - Copy iOS
libs
directory to the project into./ios/libs
folder
- Copy iOS
-
Run
yarn install
from the sample root -
Run
pod install
from thesample/ios
directory -
To run application do the following:
- Android:
- From console:
- Execute
npx react-native run-android
from the sample root
- Execute
- From Android Studio:
- Open
sample/android
project - Click
Run app
button
- Open
- From console:
- iOS:
- From console:
- Execute
npx react-native run-ios
from the sample root It runs sample in the simulator
- Execute
- From XCode
- Open
sample/ios
project - Click
Run
button
- Open
- From console:
- Android:
Documentation
See full documentation on the ABBYY Documentation website.