ABBYY Mobile Capture React Native Module allows to use the Image Capture feature of ABBYY Mobile Capture in apps based on the [React Native](https://reactnative.dev/) framework.
npm install react-native-abbyy-mobile-capture-sample-ui-imagecaptureABBYY 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
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.
1. 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"
assets
2. Request ABBYY Mobile Capture trial version on the ABBYY website and add it to your project:
* Copy iOS directory to the project into ./assets folder../assets
* Copy your license into with MobileCapture.License namelibs
* Copy Android directory to the project into ./android/libs folderlibs
* Copy iOS directory to the project into ./ios/libs foldergradle
3. Proceed setup depending on the platform:
* Android:
* Add 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')
}
}
}
gradle
* Add to application 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'
}
}
adb
* Set minimum SDK version to '21'.
* Add utility to PATH environment variable. adb is located in Android sdk directory/platform-tools directory.pod install
* iOS:
* Run from iOS directory.Target
* Select your project in the group and open the Build Settings tab. In the Search Paths section add to the Framework Search Paths the following path:`
`
${PROJECT_DIR}/libs
Build Options
* On the tab set Enable Bitcode option to No.Build Phases
* Open the tab. In the Link Binary With Libraries section, click "+" and add the AbbyyRtrSDK.framework and AbbyyUI.framework.Build Phases
* In , add a new Run Script phase. Run the copy_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"
Build Phases
* To add the resource files and set up the copying rules, in add one more Run Script phase. Run the copy_assets.py script to automatically copy all resource files to corresponding destinations and add necessary dictionaries.`
`
python "${SRCROOT}/../assets/copy_assets.py"
Build Phases
* In , go to the Copy Bundle Resources section and add the MobileCapture.License file.info.plist
* In the file add permission for working with camera and gallery if necessary.
1. 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../assets
* Copy your license into with MobileCapture.License namelibs
* Copy Android directory to the project into ./android/libs folderlibs
* Copy iOS directory to the project into ./ios/libs folder
2. Run yarn install from the sample root
3. Run pod install from the sample/ios directory
4. To run application do the following:
* Android:
* From console:
* Execute npx react-native run-android from the sample rootsample/android
* From Android Studio:
* Open projectRun app
* Click buttonnpx react-native run-ios
* iOS:
* From console:
* Execute from the sample rootsample/ios
It runs sample in the simulator
* From XCode
* Open projectRun` button
* Click
See full documentation on the ABBYY Documentation website.