<!--
{
  "availability" : [
    "iOS: 16.1.0 -",
    "iPadOS: 16.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ActivityKit",
  "identifier" : "/documentation/ActivityKit/Activity",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ActivityKit"
    ],
    "preciseIdentifier" : "s:11ActivityKit0A0C"
  },
  "title" : "Activity"
}
-->

# Activity

The object you use to start, update, and end a Live Activity.

```
class Activity<Attributes> where Attributes : ActivityAttributes
```

## Overview

The `Activity` object offers functionality to start, update, and end a Live Activity from within your app.
You can update or end a Live Activity while your app is in the background, but you can only start a
Live Activity while the app is in the foreground, unless you adopt <doc://com.apple.documentation/documentation/AppIntents>
and start the Live Activity using a <doc://com.apple.documentation/documentation/AppIntents/LiveActivityIntent>.

Additionally, `Activity` offers functionality to observe changes to:

- The Live Activity
- The Live Activity’s state in its life cycle
- A person’s permission to start Live Activities
- The Live Activity’s push token if you configure it to receive updates through ActivityKit push notifications.

To observe these changes, use the asynchronous sequences the activity object offers; for
example, use the [`activityStateUpdates`](/documentation/ActivityKit/Activity/activityStateUpdates-swift.property)
sequence to observe changes to the state of a Live Activity.

## Topics

### Starting a Live Activity

[`request(attributes:content:pushType:)`](/documentation/ActivityKit/Activity/request(attributes:content:pushType:))

Requests and starts a standard Live Activity.

[`request(attributes:content:pushType:style:)`](/documentation/ActivityKit/Activity/request(attributes:content:pushType:style:))

Requests and starts a Live Activity.

[`request(attributes:content:pushType:style:alertConfiguration:start:)`](/documentation/ActivityKit/Activity/request(attributes:content:pushType:style:alertConfiguration:start:))

Requests and schedules a Live Activity for a specific date.

[`request(attributes:content:pushType:style:alertConfiguration:startDate:)`](/documentation/ActivityKit/Activity/request(attributes:content:pushType:style:alertConfiguration:startDate:))

[`attributes`](/documentation/ActivityKit/Activity/attributes)

A set of attributes that describe a Live Activity and its content.

[`ActivityAttributes`](/documentation/ActivityKit/ActivityAttributes)

The protocol you implement to describe the content of a Live Activity.

[`ActivityStyle`](/documentation/ActivityKit/ActivityStyle)

[`content`](/documentation/ActivityKit/Activity/content)

The dynamic content of a Live Activity.

[`ActivityContent`](/documentation/ActivityKit/ActivityContent)

A structure that describes the state and configuration of a Live Activity.

[`Activity.ContentState`](/documentation/ActivityKit/Activity/ContentState-swift.typealias)

The type alias for the structure that describes the dynamic content of a Live Activity.

[`PushType`](/documentation/ActivityKit/PushType)

The structure that offers constants you use to configure a Live Activity to receive updates through ActivityKit
push notifications.

[`ActivityAuthorizationError`](/documentation/ActivityKit/ActivityAuthorizationError)

An error that indicates why the request to start a Live Activity failed.

### Updating a Live Activity

[`update(_:)`](/documentation/ActivityKit/Activity/update(_:))

Updates the dynamic content of the Live Activity.

[`update(_:alertConfiguration:)`](/documentation/ActivityKit/Activity/update(_:alertConfiguration:))

Updates the dynamic content of a Live Activity and alerts a person about the Live Activity update.

[`AlertConfiguration`](/documentation/ActivityKit/AlertConfiguration)

A structure you use to configure an alert that appears when you update your Live Activity.

[`update(_:alertConfiguration:timestamp:)`](/documentation/ActivityKit/Activity/update(_:alertConfiguration:timestamp:))

Updates the dynamic content of a Live Activity and alerts a person about the Live Activity update.

### Ending a Live Activity

[`end(_:dismissalPolicy:)`](/documentation/ActivityKit/Activity/end(_:dismissalPolicy:))

Ends an active Live Activity.

[`ActivityUIDismissalPolicy`](/documentation/ActivityKit/ActivityUIDismissalPolicy)

The structure that describes when the system should remove a Live Activity that ended.

[`end(_:dismissalPolicy:timestamp:)`](/documentation/ActivityKit/Activity/end(_:dismissalPolicy:timestamp:))

Ends an active Live Activity.

### Observing Live Activity content changes

[`contentUpdates`](/documentation/ActivityKit/Activity/contentUpdates-swift.property)

An asynchronous sequence you use to observe changes to the dynamic content of a Live Activity.

[`Activity.ContentUpdates`](/documentation/ActivityKit/Activity/ContentUpdates-swift.struct)

A structure that offers functionality to observe changes to the dynamic content of a Live Activity.

### Observing the Live Activity life cycle

[`activityState`](/documentation/ActivityKit/Activity/activityState)

The current state of a Live Activity in its life cycle.

[`ActivityState`](/documentation/ActivityKit/ActivityState)

The enum that describes the state of a Live Activity in its life cycle.

[`activityStateUpdates`](/documentation/ActivityKit/Activity/activityStateUpdates-swift.property)

An asynchronous sequence you use to observe activity state changes.

[`Activity.ActivityStateUpdates`](/documentation/ActivityKit/Activity/ActivityStateUpdates-swift.struct)

A structure that offers functionality to observe state changes of a Live Activity.

### Using ActivityKit push notifications

[`pushToken`](/documentation/ActivityKit/Activity/pushToken)

The token you use to send ActivityKit push notifications to a Live Activity.

[`pushTokenUpdates`](/documentation/ActivityKit/Activity/pushTokenUpdates-swift.property)

An asynchronous sequence you use to observe changes to the push token of a Live Activity.

[`Activity.PushTokenUpdates`](/documentation/ActivityKit/Activity/PushTokenUpdates-swift.struct)

A structure that offers functionality to observe changes to the push token of a Live Activity.

[`pushToStartToken`](/documentation/ActivityKit/Activity/pushToStartToken)

The token you use to start a Live Activity with an ActivityKit push
notification.

[`pushToStartTokenUpdates`](/documentation/ActivityKit/Activity/pushToStartTokenUpdates)

An asynchronous sequence you use to observe changes to the token
for starting a Live Activity with an ActivityKit push notification.

### Checking user authorization

[`ActivityAuthorizationInfo`](/documentation/ActivityKit/ActivityAuthorizationInfo)

An object with information about whether a person allowed your app to start Live Activities and permitted
content updates with frequent ActivityKit push notifications.

### Accessing Live Activities

[`activities`](/documentation/ActivityKit/Activity/activities)

An array of your app’s current Live Activities.

[`activityUpdates`](/documentation/ActivityKit/Activity/activityUpdates-swift.type.property)

An asynchronous sequence you use to observe changes to ongoing Live Activities and to asynchronously access a Live Activity when you start it.

[`Activity.ActivityUpdates`](/documentation/ActivityKit/Activity/ActivityUpdates-swift.struct)

A structure that offers functionality to observe changes to a Live Activity.

### Identifying a Live Activity

[`id`](/documentation/ActivityKit/Activity/id)

A unique identifier for a Live Activity.

[`id`](/documentation/ActivityKit/Activity/id)

A unique identifier for a Live Activity.

### Deprecated

[Deprecated symbols](/documentation/ActivityKit/Deprecated-symbols)

Review unsupported symbols and their replacements.



---

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)