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

# UNUserNotificationCenter

The central object for managing notification-related activities for your app or app extension.

```
class UNUserNotificationCenter
```

## Overview

Use the shared [`UNUserNotificationCenter`](/documentation/UserNotifications/UNUserNotificationCenter) object to manage all notification-related behaviors in your app or app extension. Specifically, use this object to do the following:

- Request authorization to interact with the user through alerts, sounds, and icon badges. See [Asking permission to use notifications](/documentation/UserNotifications/asking-permission-to-use-notifications).
- Declare the notification types that your app supports and the custom actions the user may perform when the system delivers those notifications. See [Declaring your actionable notification types](/documentation/UserNotifications/declaring-your-actionable-notification-types).
- Schedule the delivery of notifications from your app. See [Scheduling a notification locally from your app](/documentation/UserNotifications/scheduling-a-notification-locally-from-your-app).
- Process the payloads from remote notifications the system delivers by Apple Push Notification service (APNs). See [Handling notifications and notification-related actions](/documentation/UserNotifications/handling-notifications-and-notification-related-actions).
- Manage the already delivered notifications the system displays in Notification Center. See Managing Delivered Notifications.
- Handle user-selected actions associated with your custom notification types. See [Handling notifications and notification-related actions](/documentation/UserNotifications/handling-notifications-and-notification-related-actions).
- Get the notification-related settings for your app. See Managing Settings and Authorization.

To handle incoming notifications and notification-related actions, create an object that adopts the [`UNUserNotificationCenterDelegate`](/documentation/UserNotifications/UNUserNotificationCenterDelegate) protocol and assign it to the [`delegate`](/documentation/UserNotifications/UNUserNotificationCenter/delegate) property. Always assign an object to the [`delegate`](/documentation/UserNotifications/UNUserNotificationCenter/delegate) property before performing any tasks that might interact with that delegate.

You may use the shared user notification center object simultaneously from any of your app’s threads. The object processes requests serially in the order that the system initiates them.

## Topics

### Managing the notification center

[`current()`](/documentation/UserNotifications/UNUserNotificationCenter/current())

Returns your app’s notification center.

[`getNotificationSettings(completionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/getNotificationSettings(completionHandler:))

Retrieves the authorization and feature-related settings for your app.

[`setBadgeCount(_:withCompletionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/setBadgeCount(_:withCompletionHandler:))

Updates the badge count for your app’s icon.

### Requesting authorization

[`requestAuthorization(options:completionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/requestAuthorization(options:completionHandler:))

Requests a person’s authorization to allow local and remote notifications for your app.

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

Options that determine the authorized features of local and remote notifications.

### Processing received notifications

[`delegate`](/documentation/UserNotifications/UNUserNotificationCenter/delegate)

The notification center’s delegate.

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

An interface for processing incoming notifications and responding to notification actions.

[`supportsContentExtensions`](/documentation/UserNotifications/UNUserNotificationCenter/supportsContentExtensions)

A Boolean value that indicates whether the device supports notification content extensions.

### Scheduling notifications

[`add(_:withCompletionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/add(_:withCompletionHandler:))

Schedules the delivery of a local notification.

[`getPendingNotificationRequests(completionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/getPendingNotificationRequests(completionHandler:))

Fetches all of your app’s local notifications that are pending delivery.

[`removePendingNotificationRequests(withIdentifiers:)`](/documentation/UserNotifications/UNUserNotificationCenter/removePendingNotificationRequests(withIdentifiers:))

Removes your app’s local notifications that are pending and match the specified identifiers.

[`removeAllPendingNotificationRequests()`](/documentation/UserNotifications/UNUserNotificationCenter/removeAllPendingNotificationRequests())

Removes all of your app’s pending local notifications.

### Removing delivered notifications

[`getDeliveredNotifications(completionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/getDeliveredNotifications(completionHandler:))

Fetches all of your app’s delivered notifications that are still present in Notification Center.

[`removeDeliveredNotifications(withIdentifiers:)`](/documentation/UserNotifications/UNUserNotificationCenter/removeDeliveredNotifications(withIdentifiers:))

Removes your app’s notifications from Notification Center that match the specified identifiers.

[`removeAllDeliveredNotifications()`](/documentation/UserNotifications/UNUserNotificationCenter/removeAllDeliveredNotifications())

Removes all of your app’s delivered notifications from Notification Center.

### Managing notification categories

[`setNotificationCategories(_:)`](/documentation/UserNotifications/UNUserNotificationCenter/setNotificationCategories(_:))

Registers the notification categories that your app supports.

[`getNotificationCategories(completionHandler:)`](/documentation/UserNotifications/UNUserNotificationCenter/getNotificationCategories(completionHandler:))

Fetches your app’s registered notification categories.

### Handling errors

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

An object that represents a notification error.

[`UNError.Code`](/documentation/UserNotifications/UNError/Code)

Constants that identify notification errors.

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

The error domain for notifications.



---

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)