Search code examples
cocoaosx-mountain-lion

How to show the share button in Mountain Lion?


Mountain Lion offers a built-in sharing button that reveals a menu of sharing services appropriate for the app:

Share button in Safari 6.0

How can I insert it in my app?


Solution

  • To add the share button on Mountain Lion:

    1) Add a NSButton called, for example, shareButton.

    2) Add the standard image for this button:

    [shareButton setImage:[NSImage imageNamed:NSImageNameShareTemplate]];
    [shareButton sendActionOn:NSLeftMouseDownMask];
    

    3) Into the "on click action", present the NSSharingServicePicker:

    NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:urls];
    sharingServicePicker.delegate = self;
    
    [sharingServicePicker showRelativeToRect:[sender bounds]
                                              ofView:sender
                                       preferredEdge:NSMinYEdge];
    

    4) Eventually, implement the NSSharingServicePickerDelegate methods to customize the picker’s available services.