Skip to content

feat: Add support for ISO‑14443‑3A (NfcA) tag transceive on iOS (e.g., NTAG213 password setting) #553

@hartherbert

Description

@hartherbert

Plugin(s)

  • Android Battery Optimization
  • Android Dark Mode Support
  • Android Edge-to-Edge Support
  • Android Foreground Service
  • App Review
  • App Shortcuts
  • App Update
  • Asset Manager
  • Audio Recorder
  • Background Task
  • Badge
  • Bluetooth Low Energy
  • Cloudinary
  • Contacts
  • Datetime Picker
  • File Compressor
  • File Opener
  • File Picker
  • Live Update
  • Managed Configurations
  • NFC
  • Photo Editor
  • Posthog
  • Printer
  • Screen Orientation
  • Screenshot
  • Speech Recognition
  • Speech Synthesis
  • Torch
  • Zip

Current problem

On iOS, the plugin doesn’t expose NfcTagTechType.NfcA (ISO14443‑3A), so it is impossible to send raw commands (e.g., password protection) to NTAG213 tags via transceive. This prevents setting/changing/removing passwords on iOS, even though Android supports it via NfcA.

Preferred solution

Add support for ISO14443‑3A tags on iOS by enabling techType: NfcTagTechType.NfcA in transceive() (and optionally connect()/close()). This would allow sending the NTAG-specific PWD_AUTH, WRITE_CMD, and AUTH0 commands directly when scanning tags on iOS, similar to Android support.

Alternative options

  • Introduce a high-level method (e.g. setTagPassword, removeTagPassword) in the plugin that abstracts away raw command usage and uses underlying OS support.

  • Provide sendIso14443_3ACommand() for password/PW_AUTH operations only.

Additional context

This affects use of NTAG21x series where password protection (PWB, AUTH0, etc.) is required by use cases. Raw commands are supported on Android, but iOS Core NFC currently supports ISO14443‑3A, and enabling it would align platforms.

Before submitting

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions