batuhanoztrk / react-native-nfc-passport-reader

MIT License
2 stars 1 forks source link

NFC Passport Reader for React Native

This React Native plugin enables the reading of NFC-enabled passports using native device capabilities. It provides a user-friendly interface for initiating and handling NFC operations, including reading passport data, checking NFC support, and managing NFC settings.

Features

Installation

To use the NFC Passport Reader in your React Native project, follow these steps:

  1. Install the Plugin:
    npm install react-native-nfc-passport-reader
  2. Link Native Modules (if required for versions below React Native 0.60):
    npx react-native link react-native-nfc-passport-reader
  3. iOS Additional Setup:
    • Modify your Info.plist to include necessary NFC usage descriptions.
      <key>NFCReaderUsageDescription</key>
      <string>This app requires NFC access to verify your identity.</string>
      <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
      <array>
      <string>A0000002471001</string>
      <string>00000000000000</string>
      <string>D4100000030001</string>
      </array>
    • Ensure your entitlements include NFC tag reading capability.
  4. Android Additional Setup:
    • Add NFC permissions in your AndroidManifest.xml.
      <uses-feature android:name="android.hardware.nfc" android:required="false" />
      <uses-permission android:name="android.permission.NFC" />
    • Ensure your device has NFC capabilities and that NFC is enabled.

Note: This plugin is currently only available for Android devices.

Usage

Import and use the NFC Passport Reader as follows:

import NfcPassportReader from 'react-native-nfc-passport-reader';
import type { NfcResult } from 'react-native-nfc-passport-reader';

Basic Methods

Event Listeners

Check Device Support

Settings

Example

For a detailed example of how to use the NFC Passport Reader, please see the Example App.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library