Can you open an iOS app from an HTTP url scheme?

Andrew Garrison picture Andrew Garrison · Sep 19, 2014 · Viewed 11.3k times · Source

I would like to open my iOS application similar to how it can be done on Android, that is by using a specific web address instead of a custom URL protocol.

This is how it works on Android. The Reddit is Fun app is a great example of this:

  • User is in their mail app, browser app, or something equivalent.
  • User clicks on a link to a reddit post. For this example, the link is "http://reddit.com/r/example"
  • Reddit is Fun app is setup to handle "http://reddit.com/" links
  • Android displays a dialog giving the user these options:
    • Open link in Web Browser
    • Open link in Reddit is Fun

I've been trying to find reference material on the Apple iOS URL Schemes, but everything I have found so far indicates that you need to have a custom URL protocol, and that you cannot use http://. You would have to use something like 'reddit://'.

The great thing about specifying an actual web address as a URL scheme is that if you didn't have the Reddit is Fun app, the browser would automatically open the page and that would be a great fallback. In the case of using a custom URL protocol like in iOS, if your device does not have the app installed, there is no fallback. There is no indication that it failed. There is no indication that it tried to do anything.

Does anyone know a way to open an application this way? For example, is it possible to open a reddit app when clicking on a 'http://reddit.com/' link?

Edit: What I find very interesting is that iOS already supports this to some extent with YouTube links.

Edit: It looks like there's no way to do exactly what I want on iOS. However, this post has some good suggestions on what to do. I was hoping things would have changed since 2009.

Answer

Rick Mortensen picture Rick Mortensen · Dec 24, 2015

This is now enabled on ios in what they're calling "Universal Links": https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

There is a Cordova plugin to support this if your source is html based: https://github.com/nordnet/cordova-universal-links-plugin#android-web-integration