Guides and Sample Code


macOS Human Interface Guidelines



Sharing lets users share content from your app with social websites and other apps, such as Mail and Messages. The Share menu automatically displays the built-in features and app extensions that make sense in the current context. For example, a photo-sharing website appears in the Share menu only if the user has selected a photo.

image: ../Art/sharing_2x.png

As you implement and customize the Share menu in your app, consider the following guidelines. (To learn more about the app extensions that can appear in the Share menu, see App Extensions.)

In general, use the Share button for content users want to share with other people. When deciding whether to include a Share button in your app, consider whether users want to share their content with other people. This includes sending content directly via AirDrop, Mail, and Message, or posting it to a social sharing service such as Facebook, YouTube, or Flickr.

In particular, don't use the Share menu to edit content or to pass content between apps. For example, QuickTime Player uses a separate Export menu to send files to iTunes and iMovie or to reformat a file. Use an Action Menu for other actions that users may want to perform with their content, such as Duplicate, Move to Trash, or Get Info. The Share menu should not replace the Action menu. See Action Menu for more information.

Add a Share item to the File menu. Users should be able to share their content from the File menu as well as with the Share button. Make sure to provide the same menu items in both places. It’s also best to use the same wording so that users readily recognize the available options.

With Sharing Service on macOS, you can also integrate features of a specific social networking service directly into your app. For example, users can view the Facebook profile and photos of their contacts from a menu item in the Contacts app (as shown here). You can also generate HTTP requests to get and push content from available social services. Users appreciate when they can share content they care about and can view relevant social information from within your app.

image: ../Art/targeted_integration_2x.png

Use the AppKit and Social frameworks to make sharing easier for your users. See the Social Framework Reference for more information.