<!--
{
  "availability" : [
    "iOS: 8.0.0 - 10.0.0",
    "iPadOS: 8.0.0 - 10.0.0",
    "macCatalyst: 13.1.0 - 13.1.0"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIUserNotificationCategory",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIUserNotificationCategory"
  },
  "title" : "UIUserNotificationCategory"
}
-->

# UIUserNotificationCategory

Information about custom actions that your app can perform in response to a local or push notification.

```
@MainActor class UIUserNotificationCategory
```

## Overview

Each instance of `UIUserNotificationCategory` represents a group of actions to display in conjunction with a single notification. The title of each action is uses as the title of a button in the alert displayed to the user. When the user taps a button, the system reports the selected action to your app delegate.

Typically, you create an instance of the [`UIMutableUserNotificationCategory`](/documentation/UIKit/UIMutableUserNotificationCategory) class instead of this class. You use the mutable object to add actions and specify a category name before registering them with a [`UIUserNotificationSettings`](/documentation/UIKit/UIUserNotificationSettings) object.

To display a group of actions for a specific notification, configure the local or push notification with the category name of the group. For local notifications, you specify this name when configuring your [`UILocalNotification`](/documentation/UIKit/UILocalNotification) object. For push notifications, your server specifies a group of actions by adding a `category` key (whose value is the [`identifier`](/documentation/UIKit/UIUserNotificationCategory/identifier) of the group) to the push notification’s payload.

## Topics

### Creating the action group

[`-  init`](/documentation/UIKit/UIUserNotificationCategory/init())

Creates an action group.

[`-  initWithCoder:`](/documentation/UIKit/UIUserNotificationCategory/init(coder:))

Creates an action group from data in an unarchiver.

### Getting the group configuration

[`identifier`](/documentation/UIKit/UIUserNotificationCategory/identifier)

The name of the action group.

[`-  actionsForContext:`](/documentation/UIKit/UIUserNotificationCategory/actions(for:))

Returns the actions to be displayed for the given notification context.

### Constants

[`UIUserNotificationActionContext`](/documentation/UIKit/UIUserNotificationActionContext)

Constants indicating the amount of space available for displaying actions in a notification.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

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

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

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

### Inherited By

[`UIMutableUserNotificationCategory`](/documentation/UIKit/UIMutableUserNotificationCategory)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)