An interface for interacting with a MIFARE® tag.


protocol NFCMiFareTag


The NFCTagReaderSessionDelegate receives an object that conforms to the NFCMiFareTag protocol when the NFCTagReaderSession detects a compatible tag. However, if you include the application identifier D2760000850101—the identifier for the NDEF application on MIFARE® DESFire® tags (NFC Forum T4T tag platform)—in the array of your Info.plist file, the reader session sends the delegate an NFCISO7816Tag object when it finds a tag matching the identifier. To receive the MIFARE DESFire tag as an NFCMiFareTag object, don’t include D2760000850101 in the array.

For the delegate to receive the tag object, your app must include the Near Field Communication Tag Reader Session Formats Entitlement.

For the reader session to read and write data to the tag, it must be available to the reader session. Use the isAvailable property to check the tag’s availability.

MIFARE, MIFARE DESFire, MIFARE Ultralight, and MIFARE Plus are registered trademarks of NXP B.V.


Getting Tag Information

var mifareFamily: NFCMiFareFamily

The MIFARE product family identifier for the tag.


enum NFCMiFareFamily

Identifiers for the MIFARE product families.

var identifier: Data

The unique hardware identifier of the tag.


var historicalBytes: Data?

The historical bytes extracted from an Answer To Select response.


Sending Commands

func sendMiFareISO7816Command(NFCISO7816APDU, completionHandler: (Data, UInt8, UInt8, Error?) -> Void)

Sends an ISO 7816 command APDU to the tag and receives a response APDU.



Inherits From

See Also

Tag Types

Creating NFC Tags from Your iPhone

Save data to tags, and interact with them using native tag protocols.

protocol NFCISO7816Tag

An interface for interacting with an ISO 7816 tag.

protocol NFCISO15693Tag

An interface for interacting with an ISO 15693 tag.

protocol NFCFeliCaTag

An interface for interacting with a FeliCa™ tag.

protocol NFCNDEFTag

An interface for interacting with an NDEF tag.

enum NFCTag

An object that represents an NFC tag object.

class NFCTagCommandConfiguration

A set of parameters you use to define the configuration of an NFC tag command.