{"id":13646289,"url":"https://github.com/nfcim/flutter_nfc_kit","last_synced_at":"2025-05-15T19:07:47.178Z","repository":{"id":37420956,"uuid":"234088827","full_name":"nfcim/flutter_nfc_kit","owner":"nfcim","description":"Flutter plugin to provide NFC functionality on Android and iOS, including reading metadata, read \u0026 write NDEF records, and transceive layer 3 \u0026 4 data with NFC tags / cards","archived":false,"fork":false,"pushed_at":"2025-02-26T14:18:17.000Z","size":522,"stargazers_count":214,"open_issues_count":9,"forks_count":132,"subscribers_count":10,"default_branch":"develop","last_synced_at":"2025-04-11T23:59:06.551Z","etag":null,"topics":["android","flutter","flutter-plugin","ios","kotlin","ndef","nfc","nfc-tag","swift"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/flutter_nfc_kit","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfcim.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-15T13:40:08.000Z","updated_at":"2025-04-11T23:13:46.000Z","dependencies_parsed_at":"2022-07-12T14:02:47.010Z","dependency_job_id":"c2655048-700c-4b9a-978a-0f091cbb0a3b","html_url":"https://github.com/nfcim/flutter_nfc_kit","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfcim%2Fflutter_nfc_kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfcim%2Fflutter_nfc_kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfcim%2Fflutter_nfc_kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfcim%2Fflutter_nfc_kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfcim","download_url":"https://codeload.github.com/nfcim/flutter_nfc_kit/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254404356,"owners_count":22065641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","flutter","flutter-plugin","ios","kotlin","ndef","nfc","nfc-tag","swift"],"created_at":"2024-08-02T01:02:52.206Z","updated_at":"2025-05-15T19:07:47.157Z","avatar_url":"https://github.com/nfcim.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"# Flutter NFC Kit\n\n[![pub version](https://img.shields.io/pub/v/flutter_nfc_kit)](https://pub.dev/packages/flutter_nfc_kit)\n![Build Example App](https://github.com/nfcim/flutter_nfc_kit/workflows/Build%20Example%20App/badge.svg)\n\nYet another plugin to provide NFC functionality on Android, iOS and browsers (by WebUSB, see below).\n\nThis plugin's functionalities include:\n\n* read metadata and read \u0026 write NDEF records of tags / cards complying with:\n  * ISO 14443 Type A \u0026 Type B (NFC-A / NFC-B / MIFARE Classic / MIFARE Plus / MIFARE Ultralight / MIFARE DESFire)\n  * ISO 18092 (NFC-F / FeliCa)\n  * ISO 15963 (NFC-V)\n* R/W block / page / sector level data of tags complying with:\n  * MIFARE Classic / Ultralight (Android only)\n  * ISO 15693 (iOS only)\n* transceive raw commands with tags / cards complying with:\n  * ISO 7816 Smart Cards (layer 4, in APDUs)\n  * other device-supported technologies (layer 3, in raw commands, see documentation for platform-specific supportability)\n\nNote that due to API limitations, not all operations are supported on all platforms.\n**You are welcome to submit PRs to add support for any standard-specific operations.**\n\nThis library uses [ndef](https://pub.dev/packages/ndef) for NDEF record encoding \u0026 decoding.\n\n## Contributing\n\nPlease refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n## Setup\n\n### Android\n\nWe have the following minimum version requirements for Android plugin:\n\n* Java 17\n* Gradle 8.9\n* Android SDK 26 (you must set corresponding `jvmTarget` in you app's `build.gradle`)\n* Android Gradle Plugin 8.7\n\nTo use this plugin on Android, you also need to:\n\n* Add [android.permission.NFC](https://developer.android.com/reference/android/Manifest.permission.html#NFC) to your `AndroidManifest.xml`.\n\n### iOS\n\nThis plugin now supports Swift package manager, and requires iOS 13+.\n\n* Add [Near Field Communication Tag Reader Session Formats Entitlements](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_nfc_readersession_formats) to your entitlements.\n* Add [NFCReaderUsageDescription](https://developer.apple.com/documentation/bundleresources/information_property_list/nfcreaderusagedescription) to your `Info.plist`.\n* Add [com.apple.developer.nfc.readersession.felica.systemcodes](https://developer.apple.com/documentation/bundleresources/information_property_list/systemcodes) and [com.apple.developer.nfc.readersession.iso7816.select-identifiers](https://developer.apple.com/documentation/bundleresources/information_property_list/select-identifiers) to your `Info.plist` as needed. WARNING: for iOS 14.5 and earlier versions, you **MUST** add them before invoking `poll` with `readIso18092` or `readIso15693` enabled, or your NFC **WILL BE TOTALLY UNAVAILABLE BEFORE REBOOT** due to a [CoreNFC bug](https://github.com/nfcim/flutter_nfc_kit/issues/23).\n* Open Runner.xcworkspace with Xcode and navigate to project settings then the tab _Signing \u0026 Capabilities._\n* Select the Runner in targets in left sidebar then press the \"+ Capability\" in the left upper corner and choose _Near Field Communication Tag Reading._\n\n### Web\n\nThe web version of this plugin **does not actually support NFC** in browsers, but uses a specific [WebUSB protocol](https://github.com/nfcim/flutter_nfc_kit/blob/master/WebUSB.md), so that Flutter programs can communicate with dual-interface (NFC / USB) devices in a platform-independent way.\n\nMake sure you understand the statement above and the protocol before using this plugin.\n\n## Usage\n\nWe provide [simple code example](example/example.md) and a [example application](example/lib).\n\nRefer to the [documentation](https://pub.dev/documentation/flutter_nfc_kit/) for more information.\n\n### Error codes\n\nWe use error codes with similar meaning as HTTP status code. Brief explanation and error cause in string (if available) will also be returned when an error occurs.\n\n### Operation Mode\n\nWe provide two operation modes: polling (default) and event streaming. Both can give the same `NFCTag` object. Please see [example](example/example.md) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfcim%2Fflutter_nfc_kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfcim%2Fflutter_nfc_kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfcim%2Fflutter_nfc_kit/lists"}