---
title: TKSmartCardUserInteraction
framework: cryptotokenkit
role: symbol
role_heading: Class
path: cryptotokenkit/tksmartcarduserinteraction
---

# TKSmartCardUserInteraction

The base class for encapsulating user interaction with a Smart Card reader.

## Declaration

```swift
class TKSmartCardUserInteraction
```

## 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. TKSmartCardUserInteractionForPINOperation is a subclass of TKSmartCardUserInteraction. You interact with instances of one of the subclasses of TKSmartCardUserInteractionForPINOperationwhen calling the userInteractionForSecurePINChange(_:apdu:currentPINByteOffset:newPINByteOffset:) and userInteractionForSecurePINVerification(_:apdu:pinByteOffset:) methods on an TKSmartCard object.

## Topics

### Handling User Interaction Events

- [delegate](cryptotokenkit/tksmartcarduserinteraction/delegate.md)
- [TKSmartCardUserInteractionDelegate](cryptotokenkit/tksmartcarduserinteractiondelegate.md)

### Configuring Timeout

- [initialTimeout](cryptotokenkit/tksmartcarduserinteraction/initialtimeout.md)
- [interactionTimeout](cryptotokenkit/tksmartcarduserinteraction/interactiontimeout.md)

### Starting and Stopping

- [run(reply:)](cryptotokenkit/tksmartcarduserinteraction/run(reply:).md)
- [cancel()](cryptotokenkit/tksmartcarduserinteraction/cancel().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [TKSmartCardUserInteractionForPINOperation](cryptotokenkit/tksmartcarduserinteractionforpinoperation.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)
- [TKSmartCardUserInteractionForPINOperation](cryptotokenkit/tksmartcarduserinteractionforpinoperation.md)
- [TKSmartCardUserInteractionForSecurePINChange](cryptotokenkit/tksmartcarduserinteractionforsecurepinchange.md)
- [TKSmartCardUserInteractionForSecurePINVerification](cryptotokenkit/tksmartcarduserinteractionforsecurepinverification.md)
