Share Extensions

Share extensions provide a convenient way to share information from the current context to apps, social media accounts, and other services. People access share extensions by clicking a Share button in the toolbar or choosing Share in a contextual menu. When activated, a share extension either displays an edit view—to add a comment, for example—or switches to the corresponding app and performs a task—like an import. When you activate the Messages share extension in the Finder, an edit view appears with the selected file attached, and prompts you to add recipients and a message. When you activate the Mail share extension in the Finder, Mail comes to the front, creates a new message, and attaches the selected file.

Screenshot of a Finder window in list view with a document selected. The Share toolbar button's menu is open and the Messages item is selected.

Expose a single, focused sharing task. A share extension isn’t a mini-app. It performs a narrowly scoped sharing task related to the current context. For example, Photos provides an Add to Photos share extension that’s available when you have an image selected.

Screenshot of the Messages share extension in the foreground and a Finder window in list view with a selected document in the background.

Craft a familiar interface. The system-provided composition view is familiar and provides a consistent sharing experience throughout the system. Use it whenever possible.

Use your app to denote the progress of lengthy operations. A share extension should dismiss immediately after initiating sharing. Time-consuming sharing activities should continue in the background, and your app should provide some way to check the status of these tasks.

Don’t assume your share extension is available. Users can enable and disable share extensions in the Extensions system preference pane.

For guidance, see Share in App Extension Programming Guide.

Note Share extensions automatically use your app icon, instilling confidence that the extension is in fact provided by your app.