<!--
{
  "documentType" : "article",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/task-management",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Task Management"
}
-->

# Task Management

Manage your app’s work and how it interacts with system services like Handoff and Shortcuts.

## Topics

### Undo

[`UndoManager`](/documentation/Foundation/UndoManager)

A general-purpose recorder of operations that enables undo and redo.

### Progress

[`ProgressReporting`](/documentation/Foundation/ProgressReporting)

An interface for objects that report progress using a single progress instance.

[`Progress`](/documentation/Foundation/Progress)

An object that conveys ongoing progress to the user for a specified task.

### Operations

[`Operation`](/documentation/Foundation/Operation)

An abstract class that represents the code and data associated with a single task.

[`OperationQueue`](/documentation/Foundation/OperationQueue)

A queue that regulates the execution of operations.

[`BlockOperation`](/documentation/Foundation/BlockOperation)

An operation that manages the concurrent execution of one or more blocks.

[`NSInvocationOperation`](/documentation/Foundation/NSInvocationOperation)

An operation that manages the execution of a single encapsulated task specified as an invocation.

### Scheduling

[`Timer`](/documentation/Foundation/Timer)

A timer that fires after a certain time interval has elapsed, sending a specified message to a target object.

### Activity Sharing

Share the user’s current activity with Handoff, Spotlight, and Siri Shortcuts.

[Creating a user activity object](/documentation/Foundation/creating-a-user-activity-object)

Identify key user interactions and include the information to restore them later.

[Implementing Handoff in Your App](/documentation/Foundation/implementing-handoff-in-your-app)

Create, send, and receive user activities directly.

[Continuing User Activities with Handoff](/documentation/Foundation/continuing-user-activities-with-handoff)

Define and manage which of your app’s activities can be continued between devices.

[Increasing App Usage with Suggestions Based on User Activities](/documentation/Foundation/increasing-app-usage-with-suggestions-based-on-user-activities)

Provide a continuous user experience by capturing information from your app and displaying this information as proactive suggestions across the system.

[Supporting the creation of Quick Notes](/documentation/Foundation/supporting-the-creation-of-quick-notes)

Support the creation of notes that include your app’s content.

[`NSUserActivity`](/documentation/Foundation/NSUserActivity)

A representation of the state of your app at a moment in time.

[`NSUserActivityDelegate`](/documentation/Foundation/NSUserActivityDelegate)

The interface through which a user activity instance notifies its delegate of updates.

### System Interaction

[`ProcessInfo`](/documentation/Foundation/ProcessInfo)

A collection of information about the current process.

[`NSBackgroundActivityScheduler`](/documentation/Foundation/NSBackgroundActivityScheduler)

A task scheduler suitable for low priority operations that can run in the background.

### User Notifications

[`NSUserNotification`](/documentation/Foundation/NSUserNotification)

A notification that can be scheduled for display in the notification center.

[`NSUserNotificationAction`](/documentation/Foundation/NSUserNotificationAction)

An action that the user can take in response to receiving a notification.

[`NSUserNotificationCenter`](/documentation/Foundation/NSUserNotificationCenter)

An object that delivers notifications from apps to the user.

[`NSUserNotificationCenterDelegate`](/documentation/Foundation/NSUserNotificationCenterDelegate)

An interface that enables customizing the behavior of the default notification center.

### Combine Integration

[`Published`](/documentation/Foundation/Published)

A type alias for the Combine framework’s type that publishes a property marked with an attribute.

[`ObservableObject`](/documentation/Foundation/ObservableObject)

A type alias for the Combine framework’s type for an object with a publisher that emits before the object has changed.



---

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)