A Flutter plugin for reading and writing NFC tags on iOS and Android devices.
Flutter NFC Reader & Writer is a Flutter plugin that provides access to NFC hardware for reading and writing tags on iOS and Android devices. It solves the problem of integrating NFC functionality into cross-platform mobile apps by offering a unified Dart API that handles platform-specific implementations. The plugin supports reading NDEF tag formats on both platforms and writing on Android, with features like stream-based discovery and session control.
Flutter developers building mobile applications that require NFC interactions, such as contactless payment systems, inventory management, access control, or data exchange via NFC tags.
Developers choose this plugin because it offers a straightforward, cross-platform solution for NFC integration without needing to write separate native code for iOS and Android. Its promise-based and stream-oriented API simplifies handling NFC sessions, and it includes availability checks and iOS-specific UI integration out of the box.
Flutter NFC reader plugin for iOS and Android
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a unified Dart API for reading NDEF tags on both iOS and Android, abstracting platform-specific complexities as stated in the philosophy.
Provides `onTagDiscovered()` stream for continuous tag detection, enabling event-driven NFC interactions without manual session management.
Includes `checkNFCAvailability()` to detect NFC support and status, helping developers handle edge cases like disabled hardware gracefully.
Automatically displays a bottom sheet on iOS with customizable instructional text, simplifying user experience during scanning as per the README.
The plugin only supports writing NFC tags on Android, limiting full NFC functionality for iOS applications and requiring workarounds.
On iOS, tag IDs are not available, and scanning always requires user interaction via a bottom sheet, restricting background or silent operations.
Requires manual configuration in AndroidManifest.xml and iOS capabilities, and iOS development needs the legacy build system due to a Flutter issue mentioned in the README.
The stable version is ^0.2.0 with experimental features in a develop branch, indicating potential instability or lack of recent updates.