Send push notifications to update your app.


The PushKit framework sends specific types of notifications—such as VoIP invitations, watchOS complication updates, and file provider change notifications—directly to your app for processing.

PushKit notifications differ from the ones you handle using the UserNotifications framework. Specifically, PushKit notifications never display alerts, badge your app's icon, or play sounds. They also have the following advantages over user notifications:

  • The device wakes only when it receives a PushKit notification, which can improve battery life.

  • Upon receiving a PushKit notification, the system automatically launches your app if it isn't running. By contrast, user notifications aren't guaranteed to launch your app.

  • The system gives your app execution time (potentially in the background) to process PushKit notifications.

  • PushKit notifications can include more data than user notifications.

To configure your app to use PushKit notifications, see Enable push notifications. For more information about setting up and using PushKit, see What's New in the Apple Push Notification Service.



class PKPushRegistry

An object that requests the delivery and handles the receipt of PushKit notifications.

protocol PKPushRegistryDelegate

The methods that you use to handle incoming PushKit notifications and registration events.

class PKPushCredentials

An object that encapsulates the push token and push type for an app.

Push Types

struct PKPushType

Constants reflecting the push types you want to support.


class PKPushPayload

An object that contains information about a received PushKit notification.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software