身份证扫描插件
使用前先安装ocr依赖:idcard-library
安装
yarn add @aloestec/rn-id-scan
自动引入
react-native link
手动引入
Android
- 打开文件
android/app/src/main/java/[...]/MainApplication.java
- 引入
import com.aloestec.scanidcard.IDCardPackage
- 在
getPackages()
方法中添加new IDCardPackage()
- 打开文件
android/settings.gradle
并添加:
include ':aloestec-rn-id-scan'
project(':aloestec-rn-id-scan').projectDir = new File(rootProject.projectDir, '../node_modules/@aloestec/rn-id-scan/android')
- 打开文件
android/app/build.gradle
并添加:
dependencies{
...
compile project(':aloestec-rn-id-scan')
}
IOS
-
在 Build Phases -> Copy Bundle Resources 中, 将
node_modules/aloestec-rn-id-scan/ios/libexidcard/dicts/zocr0.lib
文件加入到项目资源 将node_modules/aloestec-rn-id-scan/ios/libexidcard/Assets.xcassets
下面的目录加入到项目资源 -
在 Build Settings -> Build Options 中, 设置
Enable Bitcode
为 No 。原因在于 插件不支持某一版本到CPU,无法使用 Bitcode 缓存 设置Enable Testability
为 No 。 设置Dead Code Stripping
为 Yes 。 删除Test目录 。 -
将插件项目中Assets.xcassets下的子目录拖动到rn项目的Assets.xcassets中
使用
import rnIdScan from '@aloestec/rn-id-scan' ... async scanIDCard (side) { try { let data = await rnIdScan.scanIDCard(side) this.setState({...data}) } catch (e) { // e.message }}