---
title: TKSmartCardUserInteractionForPINOperation
framework: cryptotokenkit
role: symbol
role_heading: Class
path: cryptotokenkit/tksmartcarduserinteractionforpinoperation
---

# TKSmartCardUserInteractionForPINOperation

A representation of user interaction for secure PIN operations on a Smart Card reader.

## Declaration

```swift
class TKSmartCardUserInteractionForPINOperation
```

## Overview

Overview There are two types of user interactions: those for secure PIN change and those for secure PIN validation. These interactions are instances of the TKSmartCardUserInteractionForSecurePINChange, or TKSmartCardUserInteractionForSecurePINVerification subclasses of TKSmartCardUserInteractionForPINOperation, respectively. You interact with instances of one of the subclasses of TKSmartCardUserInteractionForPINOperation when calling the userInteractionForSecurePINChange(_:apdu:currentPINByteOffset:newPINByteOffset:) and userInteractionForSecurePINVerification(_:apdu:pinByteOffset:) methods on an TKSmartCard object. The result of a user interaction is available once the interaction has completed.

## Topics

### Managing Pin Completion

- [pinCompletion](cryptotokenkit/tksmartcarduserinteractionforpinoperation/pincompletion.md)
- [TKSmartCardUserInteractionForPINOperation.Completion](cryptotokenkit/tksmartcarduserinteractionforpinoperation/completion.md)

### Configuring Messages

- [pinMessageIndices](cryptotokenkit/tksmartcarduserinteractionforpinoperation/pinmessageindices.md)
- [locale](cryptotokenkit/tksmartcarduserinteractionforpinoperation/locale.md)

### Accessing Response Data

- [resultSW](cryptotokenkit/tksmartcarduserinteractionforpinoperation/resultsw.md)
- [resultData](cryptotokenkit/tksmartcarduserinteractionforpinoperation/resultdata.md)

## Relationships

### Inherits From

- [TKSmartCardUserInteraction](cryptotokenkit/tksmartcarduserinteraction.md)

### Inherited By

- [TKSmartCardUserInteractionForSecurePINChange](cryptotokenkit/tksmartcarduserinteractionforsecurepinchange.md)
- [TKSmartCardUserInteractionForSecurePINVerification](cryptotokenkit/tksmartcarduserinteractionforsecurepinverification.md)

### Conforms To

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

## See Also

### Managing User Interaction

- [userInteractionForSecurePINVerification(_:apdu:pinByteOffset:)](cryptotokenkit/tksmartcard/userinteractionforsecurepinverification(_:apdu:pinbyteoffset:).md)
- [userInteractionForSecurePINChange(_:apdu:currentPINByteOffset:newPINByteOffset:)](cryptotokenkit/tksmartcard/userinteractionforsecurepinchange(_:apdu:currentpinbyteoffset:newpinbyteoffset:).md)
- [TKSmartCardPINFormat](cryptotokenkit/tksmartcardpinformat.md)
- [TKSmartCardUserInteraction](cryptotokenkit/tksmartcarduserinteraction.md)
- [TKSmartCardUserInteractionForSecurePINChange](cryptotokenkit/tksmartcarduserinteractionforsecurepinchange.md)
- [TKSmartCardUserInteractionForSecurePINVerification](cryptotokenkit/tksmartcarduserinteractionforsecurepinverification.md)
