Task Management

Manage your app's work and its interaction with the user and the system.



class UndoManager

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


protocol ProgressReporting

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

class Progress

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


class Operation

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

class OperationQueue

A queue that regulates the execution of operations.

class BlockOperation

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


class Timer

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

Activity Sharing

class NSUserActivity

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

protocol NSUserActivityDelegate

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

System Interaction

class ProcessInfo

A collection of information about the current process.

class NSBackgroundActivityScheduler

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

User Notifications

class NSUserNotification

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

class NSUserNotificationAction

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

class NSUserNotificationCenter

An object that delivers notifications from apps to the user.

protocol NSUserNotificationCenterDelegate

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

See Also

App Support


Access assets and other data bundled with your app.


Design patterns for broadcasting information and for subscribing to broadcasts.

App Extension Support

Manage the interaction between an app extension and its hosting app.

Errors and Exceptions

Respond to problem situations in your interactions with APIs, and fine-tune your app for better debugging.

Scripting Support

Allow users to control your app with AppleScript and other automation technologies, or run scripts from within your app.