<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iOSAppExtension: -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NowPlaying",
  "identifier" : "/documentation/NowPlaying/RemoteMediaSession/update(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Now Playing"
    ],
    "preciseIdentifier" : "s:10NowPlaying18RemoteMediaSessionC6updateyyxYaKF"
  },
  "title" : "update(_:)"
}
-->

# update(_:)

Updates the session with new attributes.

```
@MainActor func update(_ attributes: Attributes) async throws
```

## Parameters

`attributes`

The updated attributes for this session.

## Discussion

When session attributes change, call this method to send the updated
attributes to your app extension through the [`update(_:)`](/documentation/NowPlaying/RemoteMediaSessionRepresentable/update(_:)) method.

> Throws: ``doc://com.apple.nowplaying/documentation/NowPlaying/RemoteMediaSessionError/invalidAttributes`` if `attributes.id` doesn’t
> match this session’s id. ``doc://com.apple.nowplaying/documentation/NowPlaying/RemoteMediaSessionError/internalFailure`` if the system
> couldn’t deliver the update.

---

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)