Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time


  • IntentKit now supports in-app modal view controllers as actions! INKWebView, INKTweetSheet, and INKMailSheet exist as default options for INKBrowserHandler, INKTwitterHandler, and INKMailHandler, respectively. This can be disabled by setting a handler's disableInAppOption property to YES.

  • As a result, the default behavior for handlers is to not show the respective first-party app when an in-app option exists (namely, Safari and You can forcibly show them by setting a handler's showFirstPartyApp to YES.

  • IntentKit can now intelligently guess which view controller to present itself on. Instead of presentModallyInViewController:, you can now show a presenter action simply by calling presentModally. See the README for examples. (The old method still exists for backwards compatibility and for when detection fails.)

  • Application plists now follow Mustache templating conventions for interpolated values. Variable names encased in {{double curly braces}} will be HTML-escaped, whereas {{{triple curly braces}}} will be used as raw values.

  • Handlers can explicitly disallow showing the 'Remember my choice' toggle

  • Fixed an issue causing browser fallbacks to not fire.
  • Running rake test on the command line causes specs to be run using xcpretty, resulting in better output.


  • The INKDefaultsViewController view for an app using a fallback URL is more robust: it is no longer tappable, and always shows the current browser.

  • The README now includes an example image for INKDefaultsViewController.

  • Fixes a regression causing Fallback URLs to not work as expected.


  • The README now indicates the new behavior for importing header files into your project (namely, that you need to manually import headers for each used INKHandler subclass rather than the generic <IntentKit/IntentKit.h>.
  • Localizations are now included in their own pregenerated bundle, fixing a bug causing a random localization to be selected regardless of user language preferences.


  • Each INKHandler now has a useSystemDefault option, which uses a default application instead of displaying the selection sheet.
  • In tandem with the useSystemDefault option, there is now an INKDefaultsViewController class that displays a selection interface for users to set preferences for each application type.
  • The Twitter handler now supports a sendDirectMessageToScreenName: action Jeff Blagdon #31
  • Dutch localizations are now present Arno Moonen #33
  • In order to make the useSystemDefault option viable, a lot of new properties have been exposed on INKHandler and INKApplicationList.
  • The demo/development Xcode project now loads in the library as a local CocoaPod, making development easier as the dev environment now more closely resembles production usage.
  • Manual view layout is now done using the MWLayoutHelpers CocoaPod (it was formerly using a copy of it manually copy/pasted into the project)
  • The "IntentKit/Browsers" subspec no longer exists; it's now included by default into the core.
  • The new Twitter URL scheme for "mentions" now works. Jeff Blagdon #29
  • Fix a number of regressions related to icons and application plists not being properly included in subspecs
  • The README now specifies that iOS 7 is required Brady Archambo #29


  • Fixed a critical regression from 0.4.0 that caused icons to not show up.


  • CocoaPods subspecs now exist to let you include just the handlers you need
  • A handful of subtle bugs were fixed related to IntentKit unintentionally damaging the view hierarchy when presenting an activity sheet
  • String localization (for the "remember my choice" toggle) now works properly when loaded as a CocoaPod


  • User preferences can now be saved on a per-handler basis
  • Square app icons are masked at run-time, instead of requiring pre-masked icons
  • Application names may be localized
  • For actions where a user may not have an appropriate app installed, fallback URLs exist to perform the action in a web browser
New Handlers / Applications
  • Icons now use the ~icon naming convention, simplifying image displaying code
  • Handlebar templating has been abstracted out in the NSString+Helpers category
  • Responsibility for auto-opening an app or showing an activity sheet has been moved from INKActivityPresenter to INKHandler
  • The activity sheet no longer affects other in-app modal dialogs #18


BREAKING CHANGE MWOpenInKit is now called IntentKit!

If you were previously using MWOpenInKit, the interface is the same, except everything has been renamed. Specifically:

  • The pod name is now "IntentKit"
  • The header file containing all includes is now IntentKit.h
  • The class prefix for all files is now "INK" (e.g. INKMapsHandler instead of MWMapsHandler
  • The git/GitHub repo is now located at[.git].
  • There is a landing page at
Bug Fixes


  • There is now a changelog!
  • All application plists now store their available URLs inside an actions dictionary instead of the root of the plist.
Bug Fixes
  • A quick reversion of a very bad bug that caused icons to not be tappable.


First public release!