---
title: IOBluetoothHandsFreeDeviceDelegate
framework: IOBluetooth
role: symbol
role_heading: Protocol
path: iobluetooth/iobluetoothhandsfreedevicedelegate
---

# IOBluetoothHandsFreeDeviceDelegate

A set of optional methods for receiving status change updates and information about a connected Bluetooth hands-free phone or headset.

## Declaration

```swift
protocol IOBluetoothHandsFreeDeviceDelegate : IOBluetoothHandsFreeDelegate
```

## Topics

### Receiving Status Indicator Changes

- [handsFree(_:callSetupMode:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:callsetupmode:).md)
- [handsFree(_:isCallActive:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:iscallactive:).md)
- [handsFree(_:isServiceAvailable:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:isserviceavailable:).md)
- [handsFree(_:signalStrength:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:signalstrength:).md)
- [handsFree(_:callHoldState:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:callholdstate:).md)
- [handsFree(_:isRoaming:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:isroaming:).md)
- [handsFree(_:batteryCharge:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:batterycharge:).md)

### Receiving Call Status

- [handsFree(_:incomingCallFrom:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:incomingcallfrom:).md)
- [handsFree(_:currentCall:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:currentcall:).md)
- [Current Call Information Constants](iobluetooth/current-call-information-constants.md)

### Receiving SMS Information

- [handsFree(_:incomingSMS:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:incomingsms:).md)
- [SMS Dictionary Key Constants](iobluetooth/sms-dictionary-key-constants.md)

### Receiving Other Information

- [handsFree(_:subscriberNumber:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:subscribernumber:).md)
- [handsFree(_:ringAttempt:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:ringattempt:).md)
- [handsFree(_:unhandledResultCode:)](iobluetooth/iobluetoothhandsfreedevicedelegate/handsfree(_:unhandledresultcode:).md)

## Relationships

### Inherits From

- [IOBluetoothHandsFreeDelegate](iobluetooth/iobluetoothhandsfreedelegate.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Protocols

- [IOBluetoothDeviceAsyncCallbacks](iobluetooth/iobluetoothdeviceasynccallbacks.md)
- [IOBluetoothDeviceInquiryDelegate](iobluetooth/iobluetoothdeviceinquirydelegate.md)
- [IOBluetoothDevicePairDelegate](iobluetooth/iobluetoothdevicepairdelegate.md)
- [IOBluetoothHandsFreeAudioGatewayDelegate](iobluetooth/iobluetoothhandsfreeaudiogatewaydelegate.md)
- [IOBluetoothHandsFreeDelegate](iobluetooth/iobluetoothhandsfreedelegate.md)
- [IOBluetoothL2CAPChannelDelegate](iobluetooth/iobluetoothl2capchanneldelegate.md)
- [IOBluetoothRFCOMMChannelDelegate](iobluetooth/iobluetoothrfcommchanneldelegate.md)
