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

# IOBluetoothDevice

An instance of IOBluetoothDevice represents a single remote Bluetooth device.

```
class IOBluetoothDevice
```

## Overview

An IOBluetoothDevice object may exist independent of the existence of a baseband connection with the target device. Using this object, a client can request creation and destruction of baseband connections, and request the opening of L2CAP and RFCOMM channels on the remote device. Many of the other APIs in the IOBluetooth framework will return this object, or it’s C counterpart (IOBluetoothDeviceRef).

## Topics

### Initializers

[`init(address:)`](/documentation/IOBluetooth/IOBluetoothDevice/init(address:))

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress

[`init(addressString:)`](/documentation/IOBluetooth/IOBluetoothDevice/init(addressString:))

Returns the IOBluetoothDevice object for the given BluetoothDeviceAddress



---

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)