ios4launch

Determine if an app exists and launch that app on iOS


Is there a way to check iOS to see if another app has been installed and then launched? If memory serves me this was not possible in early versions but has this been changed?


Solution

  • Doable, but tricky.

    Launching installed apps, like the FB or Twitter apps, is done using the Custom URL Scheme. These can be used both in other apps as well as on web sites.

    Here's an article about how to do this with your own app.

    Seeing if the URL is there, though, can be tricky. A good example of an app that detects installed apps is Boxcar. The thing here is that Boxcar has advanced knowledge of the custom URL's. I'm fairly (99%) certain that there is a canOpenURL:, so knowing the custom scheme of the app you want to target ahead of time makes this simple to implement.

    Here's a partial list of some of the more popular URL's you can check against.

    There is a way to find out the custom app URL : https://www.amerhukic.com/finding-the-custom-url-scheme-of-an-ios-app

    But if you want to scan for apps and deduce their URL's, it can't be done on a non-JB device.

    Here's a blog post talking about how the folks at Bump handled the problem.