<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NearbyInteraction",
  "identifier" : "/documentation/NearbyInteraction/NIDeviceCapability",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Nearby Interaction"
    ],
    "preciseIdentifier" : "c:objc(pl)NIDeviceCapability"
  },
  "title" : "NIDeviceCapability"
}
-->

# NIDeviceCapability

An interface that adds Boolean values that indicate an interaction session feature support.

```
protocol NIDeviceCapability
```

## Overview

The [`NISession`](/documentation/NearbyInteraction/NISession) class property [`deviceCapabilities`](/documentation/NearbyInteraction/NISession/deviceCapabilities) adopts this protocol. At runtime, inspect this property to determine the available features of an interaction session on the person’s device.

In a compatible iPad or iPhone app running in visionOS, the framework reports that all capabilities are unavailable.

## Topics

### Checking session features

[`var supportsPreciseDistanceMeasurement: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsPreciseDistanceMeasurement)

A Boolean value that indicates whether the device produces precise distance measurements to nearby objects.

[`var supportsDirectionMeasurement: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsDirectionMeasurement)

A Boolean value that indicates whether the device produces instantaneous direction measurements to nearby objects.

[`var supportsCameraAssistance: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsCameraAssistance)

A Boolean value that indicates whether the device can leverage ARKit to improve interaction.

[`var supportsExtendedDistanceMeasurement: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsExtendedDistanceMeasurement)

A Boolean value that indicates whether this device supports extended distance measurement.

[`var supportsDLTDOAMeasurement: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsDLTDOAMeasurement)

A property that indicates if the device supports Downlink Time-Difference-of-Arrival ranging.

[`var supportsBluetoothChannelSounding: Bool`](/documentation/NearbyInteraction/NIDeviceCapability/supportsBluetoothChannelSounding)

A Boolean value that indicates whether the device supports distance measurements over a Bluetooth connection.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)