<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 10.0.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UserNotificationsUI",
  "identifier" : "/documentation/UserNotificationsUI/UNNotificationContentExtension/didReceive(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "User Notifications UI"
    ],
    "preciseIdentifier" : "c:objc(pl)UNNotificationContentExtension(im)didReceiveNotification:"
  },
  "title" : "didReceive(_:)"
}
-->

# didReceive(_:)

Delivers a new notification to your notification content app extension.

```
@MainActor func didReceive(_ notification: UNNotification)
```

## Parameters

`notification`

The notification that arrived.

## Discussion

In your implementation of this method, use the contents of `notification` to
configure your view controller. This method may be called multiple times
while your view controller is visible. Specifically, it is called again when
a new notification arrives whose
<doc://com.apple.documentation/documentation/UserNotifications/UNNotificationContent/threadIdentifier>
value matches the thread identifier of the notification already being
displayed. The method is called on the main thread of your notification
content app extension.

If you want to accommodate new content in your interface, you can change the
height of your view controller’s view. Change only the height; width values
are ignored. You can then add subviews to fill the additional space with
your content.

---

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)