<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.14.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UserNotifications",
  "identifier" : "/documentation/UserNotifications/UNNotificationCategory",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "User Notifications"
    ],
    "preciseIdentifier" : "c:objc(cs)UNNotificationCategory"
  },
  "title" : "UNNotificationCategory"
}
-->

# UNNotificationCategory

A type of notification your app supports and the custom actions that the system displays.

```
class UNNotificationCategory
```

## Overview

A [`UNNotificationCategory`](/documentation/UserNotifications/UNNotificationCategory) object defines a type of notification that your executable can receive. You create category objects to define your app’s *actionable notifications* — notifications that have action buttons the user can select in response to the notification. Each category object you create stores the actions and other behaviors associated with a specific type of notification. Register your category objects using the [`setNotificationCategories(_:)`](/documentation/UserNotifications/UNUserNotificationCenter/setNotificationCategories(_:)) method of [`UNUserNotificationCenter`](/documentation/UserNotifications/UNUserNotificationCenter). You can register as many category objects as you need.

> Note:
> When someone performs a Double Tap gesture while viewing a notification on Apple Watch Series 9 or Apple Watch Ultra 2, the system invokes the first nondestructive action. A nondestructive action doesn’t include the ``doc://com.apple.usernotifications/documentation/UserNotifications/UNNotificationActionOptions/destructive`` option, and won’t delete user data or change the app irrevocably.

To apply category objects to your notifications, include the category’s identifier string in the payload of any notifications you create. For local notifications, put this string in the [`categoryIdentifier`](/documentation/UserNotifications/UNMutableNotificationContent/categoryIdentifier) property of the [`UNMutableNotificationContent`](/documentation/UserNotifications/UNMutableNotificationContent) object that you use to specify the notification’s content. For remote notifications, use this string as the value of the `category` key in the `aps` dictionary of your payload.

Categories can have associated actions, which define custom buttons the system displays for notifications of that category. When the system has unlimited space, the system displays up to 10 actions. When the system has limited space, the system displays at most two actions.

## Topics

### Essentials

[`init(identifier:actions:intentIdentifiers:options:)`](/documentation/UserNotifications/UNNotificationCategory/init(identifier:actions:intentIdentifiers:options:))

Creates a category object containing the specified actions and options.

[`init(identifier:actions:intentIdentifiers:hiddenPreviewsBodyPlaceholder:options:)`](/documentation/UserNotifications/UNNotificationCategory/init(identifier:actions:intentIdentifiers:hiddenPreviewsBodyPlaceholder:options:))

Creates a category object containing the specified actions, options, and placeholder text used when previews aren’t shown.

[`init(identifier:actions:intentIdentifiers:hiddenPreviewsBodyPlaceholder:categorySummaryFormat:options:)`](/documentation/UserNotifications/UNNotificationCategory/init(identifier:actions:intentIdentifiers:hiddenPreviewsBodyPlaceholder:categorySummaryFormat:options:))

Creates a category object containing the specified actions, options, placeholder text used when previews aren’t shown, and summary format string.

### Getting the Information

[`identifier`](/documentation/UserNotifications/UNNotificationCategory/identifier)

The unique string assigned to the category.

[`actions`](/documentation/UserNotifications/UNNotificationCategory/actions)

The actions to display when the system delivers notifications of this type.

[`intentIdentifiers`](/documentation/UserNotifications/UNNotificationCategory/intentIdentifiers)

The intents related to notifications of this category.

[`hiddenPreviewsBodyPlaceholder`](/documentation/UserNotifications/UNNotificationCategory/hiddenPreviewsBodyPlaceholder)

The placeholder text to display when the system disables notification previews for the app.

[`categorySummaryFormat`](/documentation/UserNotifications/UNNotificationCategory/categorySummaryFormat)

A format string for the summary description used when the system groups the category’s notifications.

### Getting the Options

[`options`](/documentation/UserNotifications/UNNotificationCategory/options)

Options for how to handle notifications of this type.

[`UNNotificationCategoryOptions`](/documentation/UserNotifications/UNNotificationCategoryOptions)

Constants indicating how to handle notifications associated with this category.



---

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)