Skip to content
Drop in sharing features for all iPhone and iPad apps
Objective-C C Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Classes/ShareKit updated SDWebImage and removed UIActivityIndicator-for-SDWebImage. Th… Dec 14, 2017
Frameworks Pinterest sharer migrated to a new sdk Jan 2, 2016
ShareKitLibrary BUGFIX: ShareKit now builds again, after post Facebook merge target c… Nov 20, 2012
ShareKitLibraryResources BUGFIX: Fixed ShareKit's static lib itunes upload errors Jan 6, 2016
Static Library Tests PROJECT: fixed project compile problems and warnings. Deployment targ… Dec 16, 2015
Submodules Remove UIActivityIndicator-for-SDWebImage submodule Dec 14, 2017
.gitmodules Remove UIActivityIndicator-for-SDWebImage submodule Dec 14, 2017
.travis.yml fix travis Dec 14, 2017 Readme update - added important notice + updated example code. Dec 18, 2017

Build Status CocoaPods CocoaPods CocoaPods

Important: The easiest way by far to share content from iOS app is to use UIActivityViewControler. If this is not enough for you, than ShareKit might be useful. Beware though - ShareKit is rather dated, although kept updated as time permits. Some services might have changed their API's or deprecated their SDK's in the meantime. It is a lot of work to keep ShareKit updated, and urgent help is needed, so you are more than welcome to test, add issues or open pull requests.

ShareKit allows you to share content easily:

- (void)myButtonHandlerAction {

    // Create the item to share (in this example, a url)
    NSURL *url = [NSURL URLWithString:@""];
    SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!" contentType:SHKURLContentTypeWebpage];

    // Get the ShareKit action sheet
    SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

    // ShareKit detects top view controller (the one intended to present ShareKit UI) automatically,
    // but sometimes it may not find one. To be safe, set it explicitly
    [SHK setRootViewController:self];

    // Display the action sheet
    SHKAlertController *alertController = [SHKAlertController actionSheetForItem:item];
    [alertController setModalPresentationStyle:UIModalPresentationPopover];
    UIPopoverPresentationController *popPresenter = [alertController popoverPresentationController];
    popPresenter.barButtonItem = self.toolbarItems[1];
    [self presentViewController:alertController animated:YES completion:nil];

Everything else (user authentication, API calls, shareUI etc) is handled by ShareKit. Moreover, you can use and customise SHKAccountsViewController (where users can login/logoff, displays username if someone is logged to a particular service) and SHKUploadsViewController (similar to safari downloads, works with sharers able to report progress). For a brief introduction, check the demo app. To know more about configuration options see DefaultSHKConfigurator.m. To know more about what type of content can be shared, see SHKItem.h. To find out what services and actions are supported, check Sharer implementations. To get a picture of what they are capable of check their .m (implementation) files, methods named:

+ (BOOL)canShareURL;
+ (BOOL)canShareImage;
+ (BOOL)canShareText;
+ (BOOL)canShareFile:(SHKFile *)file;

should tell you everything you need.


The latest documentation and installation instructions can be found on the ShareKit Wiki. To get a preview of new features see Changelog.

!!! Updated new service creation guidelines for contributors + updated service templates are here !!!

ShareKit 2

In order to make it easier for new users to choose a canonical fork of ShareKit, the ShareKit community has decided to band together and take responsibility for collecting useful commits into what we're calling "ShareKit 2". It is now ready for you. It is the first officially stable version of ShareKit since February 2010, with more frequent updates expected.


  • many new sharers
  • new UI (currently used by Facebook, Plurk and LinkedIn, more to follow)
  • iOS native social.framework based sharers
  • optimised for easy updating (subproject library + 3rd party code as git submodules)
  • uses ARC and block callbacks

You can follow the initial planning at

As ShareKit is now community driven, you are welcome to help, to judge new features, review pull requests etc.. There are many ways you can help, see FAQ


ShareKit was created by Nate Weiner, is updated by contributors and is maintained by Vilém Kurz.

You can’t perform that action at this time.