---
title: User Notifications
framework: User Notifications
role: collection
role_heading: Framework
platforms: [iOS 10.0+, iPadOS 10.0+, Mac Catalyst 13.0+, macOS 10.14+, tvOS 10.0+, visionOS 1.0+, watchOS 3.0+]
path: usernotifications
---

# User Notifications

Push user-facing notifications to the user’s device from a server, or generate them locally from your app.

## Overview

Overview User-facing notifications communicate important information to users of your app, regardless of whether your app is running on the user’s device. For example, a sports app can let the user know when their favorite team scores. Notifications can also tell your app to download information and update its interface. Notifications can display an alert, play a sound, or badge the app’s icon.

You can generate notifications locally from your app or remotely from a server that you manage. For local notifications, the app creates the notification content and specifies a condition, like a time or location, that triggers the delivery of the notification. For remote notifications, your company’s server generates push notifications, and Apple Push Notification service (APNs) handles the delivery of those notifications to the user’s devices. Use this framework to do the following: Define the types of notifications that your app supports. Define any custom actions associated with your notification types. Schedule local notifications for delivery. Process already delivered notifications. Respond to user-selected actions. The system makes every attempt to deliver local and remote notifications in a timely manner, but delivery isn’t guaranteed. The PushKit framework offers a more timely delivery mechanism for specific types of notifications, such as those VoIP and watchOS complications use. For more information, see PushKit. For webpages in Safari version 16.0 and higher, generate remote notifications from a server that you manage using Push API code that works in Safari and other browsers. note: Siri can provide suggestions to users in search, News, Safari, and other apps using on-device information that your app contributes through the Notifications API. Users can change this functionality to allow at any time through Siri and Search settings for your app. For design guidance, see Human Interface Guidelines > Notifications.

## Topics

### Essentials

- [User Notifications updates](updates/usernotifications.md)
- [Asking permission to use notifications](usernotifications/asking-permission-to-use-notifications.md)

### Notification management

- [UNUserNotificationCenter](usernotifications/unusernotificationcenter.md)
- [UNUserNotificationCenterDelegate](usernotifications/unusernotificationcenterdelegate.md)
- [UNNotificationSettings](usernotifications/unnotificationsettings.md)

### Remote notifications

- [Setting up a remote notification server](usernotifications/setting-up-a-remote-notification-server.md)
- [Sending push notifications using command-line tools](usernotifications/sending-push-notifications-using-command-line-tools.md)
- [Testing notifications using the Push Notification Console](usernotifications/testing-notifications-using-the-push-notification-console.md)

### Notification requests

- [Scheduling a notification locally from your app](usernotifications/scheduling-a-notification-locally-from-your-app.md)
- [UNNotificationRequest](usernotifications/unnotificationrequest.md)
- [UNNotification](usernotifications/unnotification.md)

### Web push notifications

- [Sending web push notifications in web apps and browsers](usernotifications/sending-web-push-notifications-in-web-apps-and-browsers.md)

### Notification content

- [Implementing communication notifications](usernotifications/implementing-communication-notifications.md)
- [UNNotificationContentProviding](usernotifications/unnotificationcontentproviding.md)
- [UNNotificationActionIcon](usernotifications/unnotificationactionicon.md)
- [UNMutableNotificationContent](usernotifications/unmutablenotificationcontent.md)
- [UNNotificationContent](usernotifications/unnotificationcontent.md)
- [UNNotificationAttachment](usernotifications/unnotificationattachment.md)
- [UNNotificationSound](usernotifications/unnotificationsound.md)
- [UNNotificationSoundName](usernotifications/unnotificationsoundname.md)

### Triggers

- [UNCalendarNotificationTrigger](usernotifications/uncalendarnotificationtrigger.md)
- [UNTimeIntervalNotificationTrigger](usernotifications/untimeintervalnotificationtrigger.md)
- [UNLocationNotificationTrigger](usernotifications/unlocationnotificationtrigger.md)
- [UNPushNotificationTrigger](usernotifications/unpushnotificationtrigger.md)
- [UNNotificationTrigger](usernotifications/unnotificationtrigger.md)

### Notification categories and user actions

- [Declaring your actionable notification types](usernotifications/declaring-your-actionable-notification-types.md)
- [UNNotificationCategory](usernotifications/unnotificationcategory.md)
- [UNNotificationAction](usernotifications/unnotificationaction.md)
- [UNTextInputNotificationAction](usernotifications/untextinputnotificationaction.md)

### Notification responses

- [Handling notifications and notification-related actions](usernotifications/handling-notifications-and-notification-related-actions.md)
- [UNNotificationResponse](usernotifications/unnotificationresponse.md)
- [UNTextInputNotificationResponse](usernotifications/untextinputnotificationresponse.md)

### Notification service app extension

- [Modifying content in newly delivered notifications](usernotifications/modifying-content-in-newly-delivered-notifications.md)
- [UNNotificationServiceExtension](usernotifications/unnotificationserviceextension.md)

### Entitlements

- [APS Environment Entitlement](bundleresources/entitlements/aps-environment.md)
- [APS Environment (macOS) Entitlement](bundleresources/entitlements/com.apple.developer.aps-environment.md)

### Sample code

- [Handling Communication Notifications and Focus Status Updates](usernotifications/handling-communication-notifications-and-focus-status-updates.md)
- [Implementing Alert Push Notifications](usernotifications/implementing-alert-push-notifications.md)
- [Implementing Background Push Notifications](usernotifications/implementing-background-push-notifications.md)

### Classes

- [UNNotificationAttributedMessageContext](usernotifications/unnotificationattributedmessagecontext.md)
