public interface NFCISO7816Tag extends NFCTag, NFCNDEFTag
A @link NFCTagReaderSession @link/ reader session returns an instance conforming to this protocol when an ISO7816 compatible tag is detected. Unless it is specified all block completion handlers are dispatched on the session work queue that is associated with the tag. Your process requires to include the "com.apple.developer.nfc.readersession.formats" entitlement and the "com.apple.developer.nfc.readersession.iso7816.select-identifiers" key in the application's Info.plist to receive this tag object from the @link NFCTagReaderSessionDelegate @link/ delegate. [@link] NFCReaderErrorSecurityViolation @link/ will be returned from the @link NFCTagReaderSessionDelegate @link/ invalidation method if the required entitlement is missing or "com.apple.developer.nfc.readersession.iso7816.select-identifiers" does not contain at least one valid entry. When the reader discovered a compatible ISO7816 tag it automatically performs a SELECT command (by DF name) using the values provided in "com.apple.developer.nfc.readersession.iso7816.select-identifiers" in the specified array order. The tag is returned from the [NFCTagReaderSessionDelegate readerSession:didDetectTags:] call on the first successful SELECT command. The initialSelectedAID property returns the application identifier of the selected application. Tag will not be returned to the NFCTagReaderSessionDelegate if no application described in "com.apple.developer.nfc.readersession.iso7816.select-identifiers" is found. Tag must be in the connected state for NFCNDEFTag protocol properties and methods to work correctly.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
NFCISO7816Tag.Block_sendCommandAPDUCompletionHandler |
NFCNDEFTag.Block_queryNDEFStatusWithCompletionHandler, NFCNDEFTag.Block_readNDEFWithCompletionHandler, NFCNDEFTag.Block_writeLockWithCompletionHandler, NFCNDEFTag.Block_writeNDEFCompletionHandler| Modifier and Type | Method and Description |
|---|---|
NSData |
applicationData()
The optional Application Data bytes extracted from the Type B Answer To Request response.
|
NSData |
historicalBytes()
The optional historical bytes extracted from the Type A Answer To Select response.
|
NSData |
identifier()
The hardware UID of the tag.
|
java.lang.String |
initialSelectedAID()
[@property] initialSelectedAID The Hex string of the application identifier (DF name) selected by the reader when the tag is discovered.
|
boolean |
proprietaryApplicationDataCoding()
Indicates if @link applicationData @link/ follows proprietary data coding.
|
void |
sendCommandAPDUCompletionHandler(NFCISO7816APDU apdu,
NFCISO7816Tag.Block_sendCommandAPDUCompletionHandler completionHandler)
sendCommandAPDU:completionHandler:
|
asNFCFeliCaTag, asNFCISO15693Tag, asNFCISO7816Tag, asNFCMiFareTag, isAvailable, session, typeisAvailable, queryNDEFStatusWithCompletionHandler, readNDEFWithCompletionHandler, writeLockWithCompletionHandler, writeNDEFCompletionHandler_supportsSecureCodingencodeWithCoder, initWithCodercopyWithZoneNSData applicationData()
NSData historicalBytes()
NSData identifier()
java.lang.String initialSelectedAID()
boolean proprietaryApplicationDataCoding()
void sendCommandAPDUCompletionHandler(NFCISO7816APDU apdu, NFCISO7816Tag.Block_sendCommandAPDUCompletionHandler completionHandler)
Send a command APDU to the tag and receives a response APDU. Note that a SELECT command with a P1 value of 0x04 (seelction by DF name) will be checked against the values listed in the "com.apple.developer.nfc.readersession.iso7816.select-identifiers" in the Info.plist. Selecting an application outside of the permissible list will result in a NFCReaderErrorSecurityViolation error.
apdu - The command APDU objectcompletionHandler - Completion handler called when the operation is completed. error is nil if operation succeeds.
A @link NFCErrorDomain @link/ error is returned when there is a communication issue with the tag. responseData may be
empty. Command processing status bytes (SW1-SW2) are always valid.