App Extensions

Extend your app's basic functionality to other parts of the system.

Topics

Extension Support

class NSExtensionContext

The host app context from which an app extension is invoked.

protocol NSExtensionRequestHandling

The interface an app extension uses to respond to a request from a host app.

Quick Actions

Quick Actions allow your app extension to appear in the Finder Preview pane, Quick Actions menu, and Touch Bar.

Add Functionality to Finder with Action Extensions

Implement Action Extensions to provide quick access to commonly used features of your app.

property list key NSExtensionServiceAllowsFinderPreviewItem

A Boolean value indicating whether the extension appears in the Finder Preview pane and Quick Actions menu.

property list key NSExtensionServiceFinderPreviewLabel

A name for display when the extension appears in the Finder Preview pane and Quick Actions menu.

property list key NSExtensionServiceFinderPreviewIconName

The name of an icon for display when the extension appears in the Finder Preview pane and Quick Actions menu.

property list key NSExtensionServiceAllowsTouchBarItem

A Boolean value indicating whether the extension appears as a Quick Action in the Touch Bar.

property list key NSExtensionServiceTouchBarLabel

A name for display when the extension appears as a Quick Action in the Touch Bar.

property list key NSExtensionServiceTouchBarIconName

The name of an icon for display when the extension appears as a Quick Action in the Touch Bar

property list key NSExtensionServiceTouchBarBezelColorName

The color to use for the bezel around the extension when it appears as a Quick Action in the Touch Bar.

See Also

App Structure

App and Environment

Learn about the objects that you use to interact with the system.

Documents, Data, and Pasteboard

Organize your app's data and preferences, and share that data on the pasteboard or in iCloud.

Cocoa Bindings

Automatically synchronize your data model with your app's interface using Cocoa Bindings.

Resource Management

Manage the storyboards and nib files containing your app's user interface, and learn how to load data that is stored in resource files.