<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreNFC",
  "identifier" : "/documentation/CoreNFC/NFCISO7816Tag",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Core NFC"
    ],
    "preciseIdentifier" : "c:objc(pl)NFCISO7816Tag"
  },
  "title" : "NFCISO7816Tag"
}
-->

# NFCISO7816Tag

An interface for interacting with an ISO 7816 tag.

```
protocol NFCISO7816Tag : NFCNDEFTag, __NFCTag
```

## Overview

The [`NFCTagReaderSessionDelegate`](/documentation/CoreNFC/NFCTagReaderSessionDelegate-2joku) receives an object that conforms to the [`NFCISO7816Tag`](/documentation/CoreNFC/NFCISO7816Tag) protocol when the [`NFCTagReaderSession`](/documentation/CoreNFC/NFCTagReaderSession) detects an ISO 7816-compatible tag. For the delegate to receive the tag object, your app must include:

- The <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.nfc.readersession.formats>.
- A list of supported application identifiers in the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.nfc.readersession.iso7816.select-identifiers>_ _information property list key.

When the session discovers a compatible ISO 7816 tag, the session performs a `SELECT` command for each application identifier provided in <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.nfc.readersession.iso7816.select-identifiers>. The `SELECT` command searches for the identifiers in the order in which they appear in the array. The session calls the [`tagReaderSession:didDetectTags:`](/documentation/CoreNFC/NFCTagReaderSessionDelegate-5gxiw/tagReaderSession:didDetectTags:) delegate method after the first successful `SELECT` command. The [`initialSelectedAID`](/documentation/CoreNFC/NFCISO7816Tag/initialSelectedAID) property of the found tag contains the selected identifier.

For the reader session to read and write data to the tag, it must be available to the reader session. Use the [`isAvailable`](/documentation/CoreNFC/NFCTag-swift.enum/isAvailable) property to check the tag’s availability.

## Topics

### Specifying Application Identifiers

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.nfc.readersession.iso7816.select-identifiers>

### Getting Tag Information

[`initialSelectedAID`](/documentation/CoreNFC/NFCISO7816Tag/initialSelectedAID)

A hexadecimal string of the application identifier for the tag selected by the reader session when discovering new tags.

[`identifier`](/documentation/CoreNFC/NFCISO7816Tag/identifier)

The unique hardware identifier of the tag.

[`historicalBytes`](/documentation/CoreNFC/NFCISO7816Tag/historicalBytes)

The historical bytes extracted from the Type A Answer To Select response.

[`applicationData`](/documentation/CoreNFC/NFCISO7816Tag/applicationData)

The application data bytes extracted from the Type B Answer To Request response.

[`proprietaryApplicationDataCoding`](/documentation/CoreNFC/NFCISO7816Tag/proprietaryApplicationDataCoding)

A Boolean value that indicates whether the application data follows proprietary data coding.

### Sending a Command

[`sendCommand(apdu:resultHandler:)`](/documentation/CoreNFC/NFCISO7816Tag/sendCommand(apdu:resultHandler:))

Sends an application protocol data unit (APDU) to the tag and receives a response APDU.

[`-  sendCommandAPDU:completionHandler:`](/documentation/CoreNFC/NFCISO7816Tag/sendCommand(apdu:completionHandler:))

Sends an application protocol data unit (APDU) to the tag and receives a response APDU.

[`NFCISO7816APDU`](/documentation/CoreNFC/NFCISO7816APDU)

An object representing an ISO 7816 application protocol data unit (APDU).

[`NFCISO7816ResponseAPDU`](/documentation/CoreNFC/NFCISO7816ResponseAPDU)

An object containing the response from the tag.

## Relationships

### Inherits From

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NFCNDEFTag`](/documentation/CoreNFC/NFCNDEFTag)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)