---
title: Core NFC
framework: Core NFC
role: collection
role_heading: Framework
platforms: [iOS 11.0+, iPadOS 11.0+, Mac Catalyst 13.1+]
path: corenfc
---

# Core NFC

Detect NFC tags, read messages that contain NDEF data, and save data to writable tags.

## Overview

Overview Your app can read tags to give users more information about their physical environment and the real-world objects in it. Using Core NFC, you can read Near Field Communication (NFC) tags of types 1 through 5 that contain data in the NFC Data Exchange Format (NDEF). For example, your app might give users information about products they find in a store or exhibits they visit in a museum. Your app can also write data to tags, and interact with protocol-specific tags such as ISO 7816, ISO 15693, FeliCa™, and MIFARE® tags. Core NFC isn’t available for use in app extensions, and it requires a device that supports Near Field Communication. To determine if support is available, check the readingAvailable class property before starting a reader session.

## Topics

### Essentials

- [Building an NFC Tag-Reader App](corenfc/building-an-nfc-tag-reader-app.md)
- [Adding Support for Background Tag Reading](corenfc/adding-support-for-background-tag-reading.md)
- [NFCReaderUsageDescription](bundleresources/information-property-list/nfcreaderusagedescription.md)

### Reader sessions

- [NFCNDEFReaderSession](corenfc/nfcndefreadersession.md)
- [NFCTagReaderSession](corenfc/nfctagreadersession.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)

### Tag types

- [Creating NFC Tags from Your iPhone](corenfc/creating-nfc-tags-from-your-iphone.md)
- [NFCISO7816Tag](corenfc/nfciso7816tag.md)
- [NFCISO15693Tag](corenfc/nfciso15693tag.md)
- [NFCFeliCaTag](corenfc/nfcfelicatag.md)
- [NFCMiFareTag](corenfc/nfcmifaretag.md)
- [NFCNDEFTag](corenfc/nfcndeftag.md)
- [NFCTag](corenfc/nfctag-swift.enum.md)
- [NFCTagCommandConfiguration](corenfc/nfctagcommandconfiguration.md)

### NDEF messages and payloads

- [NFCNDEFMessage](corenfc/nfcndefmessage.md)
- [NFCNDEFPayload](corenfc/nfcndefpayload.md)

### Card sessions

- [CardSession](corenfc/cardsession.md)
- [NFCPresentmentIntentAssertion](corenfc/nfcpresentmentintentassertion.md)

### NFC window scenes

- [NFCWindowSceneDelegate](corenfc/nfcwindowscenedelegate.md)
- [NFCWindowSceneEvent](corenfc/nfcwindowsceneevent.md)

### Errors

- [NFCReaderError.Code](corenfc/nfcreadererror-swift.struct/code.md)
- [NFCReaderError](corenfc/nfcreadererror-swift.struct.md)
- [NFCErrorDomain](corenfc/nfcerrordomain.md)
- [NFCTagResponseUnexpectedLengthErrorKey](corenfc/nfctagresponseunexpectedlengtherrorkey.md)

### Reference

- [CoreNFC Enumerations](corenfc/corenfc-enumerations.md)

### Classes

- [NFCISO15693CustomCommandConfiguration](corenfc/nfciso15693customcommandconfiguration.md)
- [NFCISO15693ReadMultipleBlocksConfiguration](corenfc/nfciso15693readmultipleblocksconfiguration.md)

### Structures

- [NFCFeliCaPollingResponse](corenfc/nfcfelicapollingresponse.md)
- [NFCFeliCaRequestSpecificationVersionResponse](corenfc/nfcfelicarequestspecificationversionresponse.md)
- [NFCFeliCaRequsetServiceV2Response](corenfc/nfcfelicarequsetservicev2response.md)
- [NFCFeliCaStatusFlag](corenfc/nfcfelicastatusflag.md)
- [NFCISO15693MultipleBlockSecurityStatus](corenfc/nfciso15693multipleblocksecuritystatus.md)
- [NFCISO15693SystemInfo](corenfc/nfciso15693systeminfo.md)
