---
title: CMHeadphoneActivityManager
framework: coremotion
role: symbol
role_heading: Class
path: coremotion/cmheadphoneactivitymanager
---

# CMHeadphoneActivityManager

An object that starts and manages headphone activity services.

## Declaration

```swift
class CMHeadphoneActivityManager
```

## Overview

Overview This class delivers headphone activity updates to your app. Use an instance of the manager to determine if the device supports headphone activity updates, and to start and stop updates. Before using this class, check isActivityAvailable and isStatusAvailable to make sure the features are available. This class provides similar information to CMMotionActivityManager, except the activity information comes from headphone motion, rather than from device motion. important: In iOS and macOS, include the NSMotionUsageDescription key in your app’s Info.plist file. If this key is absent, trying to start headphone activity updates terminates your app.

## Topics

### Checking Availability

- [isActivityAvailable](coremotion/cmheadphoneactivitymanager/isactivityavailable.md)
- [isActivityActive](coremotion/cmheadphoneactivitymanager/isactivityactive.md)
- [isStatusAvailable](coremotion/cmheadphoneactivitymanager/isstatusavailable.md)
- [isStatusActive](coremotion/cmheadphoneactivitymanager/isstatusactive.md)
- [authorizationStatus()](coremotion/cmheadphoneactivitymanager/authorizationstatus().md)

### Starting and Stopping Updates

- [startActivityUpdates(to:withHandler:)](coremotion/cmheadphoneactivitymanager/startactivityupdates(to:withhandler:).md)
- [stopActivityUpdates()](coremotion/cmheadphoneactivitymanager/stopactivityupdates().md)
- [startStatusUpdates(to:withHandler:)](coremotion/cmheadphoneactivitymanager/startstatusupdates(to:withhandler:).md)
- [stopStatusUpdates()](coremotion/cmheadphoneactivitymanager/stopstatusupdates().md)

### Supporting Types

- [CMHeadphoneActivityManager.Status](coremotion/cmheadphoneactivitymanager/status.md)
- [CMHeadphoneActivityManager.ActivityHandler](coremotion/cmheadphoneactivitymanager/activityhandler.md)
- [CMHeadphoneActivityManager.StatusHandler](coremotion/cmheadphoneactivitymanager/statushandler.md)

## Relationships

### Inherits From

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

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Activity

- [CMMotionActivityManager](coremotion/cmmotionactivitymanager.md)
- [CMMotionActivity](coremotion/cmmotionactivity.md)
- [Getting motion-activity data from headphones](coremotion/getting-motion-activity-data-from-headphones.md)
