---
title: NIConfiguration
framework: nearbyinteraction
role: symbol
role_heading: Class
path: nearbyinteraction/niconfiguration
---

# NIConfiguration

An abstract base class for interaction configurations.

## Declaration

```swift
class NIConfiguration
```

## Mentioned in

Initiating and maintaining a session

## Overview

Overview The NIConfiguration class serves as the common identity for configuration objects. Don’t instantiate this class directly. Instead, instantiate one if its concrete subclasses: NINearbyPeerConfiguration or NINearbyAccessoryConfiguration. Use your configuration object to specify the features you want to enable in a Nearby Interaction session, and pass the object to the session’s run(_:) method.

## Topics

### Initializers

- [init(coder:)](nearbyinteraction/niconfiguration/init(coder:).md)

## Relationships

### Inherits From

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

### Inherited By

- [NIDLTDOAConfiguration](nearbyinteraction/nidltdoaconfiguration.md)
- [NINearbyAccessoryConfiguration](nearbyinteraction/ninearbyaccessoryconfiguration.md)
- [NINearbyPeerConfiguration](nearbyinteraction/ninearbypeerconfiguration.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
