---
title: NFCTagReaderSession
framework: corenfc
role: symbol
role_heading: Class
path: corenfc/nfctagreadersession
---

# NFCTagReaderSession

A reader session for detecting ISO7816, ISO15693, FeliCa, and MIFARE tags.

## Declaration

```swift
class NFCTagReaderSession
```

## Overview

Overview Use NFCTagReaderSession to interact with one of the tag types listed in NFCTagType. To use this reader session, you must: Include the Near Field Communication Tag Reader Session Formats Entitlement in your app. Provide a non-empty string for the NFCReaderUsageDescription key in your app’s information property list file. To interact with ISO 7816 tags, add the list of the application identifiers supported in your app to the ISO7816 application identifiers for NFC Tag Reader Session information property list key. If you include the application identifier D2760000850101—the identifier for the NDEF application on MIFARE DESFire tags (NFC Forum T4T tag platform)—and the reader session finds a tag matching this identifier, it sends the delegate an NFCISO7816Tag tag object. To get the MIFARE DESFire tag as an NFCMiFareTag object, don’t include D2760000850101 in the application identifier list. Only one reader session of any type can be active in the system at a time. The system puts additional sessions in a queue and processes them in first-in, first-out (FIFO) order. important: NFCTagReaderSession doesn’t support selection of payment-related application IDs. In the European Union (EU), you can use NFCPaymentTagReaderSession, as described in that class’s documentation.

## Topics

### Creating a Tag Reader Session

- [init(pollingOption:delegate:queue:)](corenfc/nfctagreadersession/init(pollingoption:delegate:queue:).md)
- [NFCTagReaderSession.PollingOption](corenfc/nfctagreadersession/pollingoption.md)
- [NFCTagReaderSessionDelegate](corenfc/nfctagreadersessiondelegate-2joku.md)

### Connecting to a Tag

- [connect(to:completionHandler:)](corenfc/nfctagreadersession/connect(to:completionhandler:).md)
- [connectedTag](corenfc/nfctagreadersession/connectedtag-3mlqu.md)

### Restarting the Polling Sequence

- [restartPolling()](corenfc/nfctagreadersession/restartpolling().md)

### Structures

- [NFCTagReaderSession.Configuration](corenfc/nfctagreadersession/configuration.md)

### Initializers

- [init(configuration:delegate:queue:)](corenfc/nfctagreadersession/init(configuration:delegate:queue:)-8g6tm.md)
- [init(configuration:delegate:queue:)](corenfc/nfctagreadersession/init(configuration:delegate:queue:)-soy8.md)

### Instance Methods

- [connect(to:)](corenfc/nfctagreadersession/connect(to:).md)
- [restartPolling(configuration:)](corenfc/nfctagreadersession/restartpolling(configuration:).md)
- [restartPolling(with:)](corenfc/nfctagreadersession/restartpolling(with:).md)

## Relationships

### Inherits From

- [NFCReaderSession](corenfc/nfcreadersession-swift.class.md)

### Inherited By

- [NFCPaymentTagReaderSession](corenfc/nfcpaymenttagreadersession.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NFCReaderSessionProtocol](corenfc/nfcreadersessionprotocol.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Reader sessions

- [NFCNDEFReaderSession](corenfc/nfcndefreadersession.md)
- [NFCPaymentTagReaderSession](corenfc/nfcpaymenttagreadersession.md)
- [NFCVASReaderSession](corenfc/nfcvasreadersession.md)
- [NFCReaderSession](corenfc/nfcreadersession-swift.class.md)
- [NFCReaderSessionProtocol](corenfc/nfcreadersessionprotocol.md)
- [Near Field Communication Tag Reader Session Formats Entitlement](bundleresources/entitlements/com.apple.developer.nfc.readersession.formats.md)
