<!--
{
  "availability" : [
    "macOS: 10.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "IOBluetoothUI",
  "identifier" : "/documentation/IOBluetoothUI/IOBluetoothPairingController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "IOBluetooth UI"
    ],
    "preciseIdentifier" : "c:objc(cs)IOBluetoothPairingController"
  },
  "title" : "IOBluetoothPairingController"
}
-->

# IOBluetoothPairingController

A NSWindowController subclass to display a window to initiate pairing to other bluetooth devices.

```
class IOBluetoothPairingController
```

## Overview

Implementation of a window controller to handle pairing with a bluetooth device. This class will handle connecting to the Bluetooth Daemon for the purposes of searches, and displaying the results. When necessary this class will display a sheet asking the user for a PIN code. This window will not return anything to the caller if it is canceled or if pairing occurs.

## Topics

### Instance Methods

[`-  addAllowedUUID:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/addAllowedUUID(_:))

Adds a UUID to the list of UUIDs that are used to validate the user’s selection.

[`-  addAllowedUUIDArray:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/addAllowedUUIDArray(_:))

Adds an array of UUIDs to the list of UUIDs that are used to validate the user’s selection.

[`-  clearAllowedUUIDs`](/documentation/IOBluetoothUI/IOBluetoothPairingController/clearAllowedUUIDs())

Resets the controller back to the default state where it will accept any device the user selects.

[`-  getDescriptionText`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getDescriptionText())

Returns the description text that appears in the device selector panel.

[`-  getOptions`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getOptions())

Returns the option bits that control the panel’s behavior.

[`-  getPrompt`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getPrompt())

Returns the title of the default/select button in the device selector panel.

[`-  getResults`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getResults())

Returns an NSArray of the devices that were paired.

[`-  getSearchAttributes`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getSearchAttributes())

Returns the search attributes that control the panel’s search/inquiry behavior.

[`-  getTitle`](/documentation/IOBluetoothUI/IOBluetoothPairingController/getTitle())

Returns the title of the device selector panel.

[`-  runModal`](/documentation/IOBluetoothUI/IOBluetoothPairingController/runModal())

Runs the pairing panel in a modal session to allow the user to select a Bluetooth device.

[`-  setDescriptionText:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/setDescriptionText(_:))

Sets the description text that appears in the device selector panel.

[`-  setOptions:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/setOptions(_:))

Sets the option bits that control the panel’s behavior.

[`-  setPrompt:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/setPrompt(_:))

Sets the title of the default/select button in the device selector panel.

[`-  setSearchAttributes:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/setSearchAttributes(_:))

Sets the search attributes that control the panel’s search/inquiry behavior.

[`-  setTitle:`](/documentation/IOBluetoothUI/IOBluetoothPairingController/setTitle(_:))

Sets the title of the panel when not run as a sheet.

## Relationships

### Conforms To

[`NSCoding`](/documentation/Foundation/NSCoding)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

[`NSStandardKeyBindingResponding`](/documentation/AppKit/NSStandardKeyBindingResponding)

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSSeguePerforming`](/documentation/AppKit/NSSeguePerforming)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSUserActivityRestoring`](/documentation/AppKit/NSUserActivityRestoring)

### Inherits From

[`NSWindowController`](/documentation/AppKit/NSWindowController)

---

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)