Find the URL scheme of an app on my iPhone

Viewed 25997

Apple maps can open routing apps when it can't provide a route:

Apple Maps showing Routing Apps

I want to open a few of those apps from my app. I am aware that I have to whitelist each app that I want to open. This is not the problem.

How can I find out the url schemes of those Apps that are installed on my iPhone?

One idea is to make a backup via iTunes and at the info.plist of the app. In this plist, the url schemes should be defined with the cfbundleurlschemes key.

I think I found such an app in a backup, but I don't know how to extract the file to get the info.plist file. adding .zip and extracting doesn't work.

Other ways to get the URL scheme are also welcome, especially ways to get example parameters of the URL scheme of an app. So looking at Apple Maps how it opens a specific routing app would be nice.

Yes I know how to open Google Maps. I want to know how to open those where I can't find a documentation.

So how can I find out URL schemes of routing apps on my iPhone?

There is an answer that suggests to extract the .ipa file, but there aren't .ipa files with iOSA 11 any more.

4 Answers

This article was incredibly helpful:

https://www.amerhukic.com/finding-the-custom-url-scheme-of-an-ios-app

Basically:

  1. Download the app to your phone
  2. Install the program iMazing on your mac
  3. Connect your phone to your mac
  4. Download the ipa file from your phone to your mac

Then

  1. Make the ipa file a zip (rename) and extract
  2. Show the package content from the .app file in the Payload folder
  3. Search and open the Info.plist file
  4. Search for CFBundleURLSchemes. Here are your url schemes.

The way I do it. Download the app "Iconical". It's an app used to create other icons to access an app. Once installed, tap "Select App" then hit refresh and you get a list of urls of all the apps with a url Scheme set up.

If the app I want is not in the list. Than I open the iPhone console, go to the AppStore, find the app and open it from there. Then look for its bundle identifier in the iPhone console and use the last part as url scheme. Ex.: com.cie.appName. This always worked for me. Hope this helps.

UIApplication.shared.open("appName://", options: [:], completionHandler: nil)

Get yourself a copy of the "enterprise" version of iTunes that lets you download .ipa files direct from the App Store. (Mentioned, for example, here.) Now you can open the .ipa and examine its components.

You can find URL scheme of any app in device Console if you connect your device to your computer and open the app. SpringBoard logs a lot of actions to the console, showing URL scheme every time.

e.g.

URL scheme for Firefox: org.mozilla.ios.Firefox

default 15:34:38.460964 +0100   SpringBoard [org.mozilla.ios.Firefox] Setting badge to (null) [ old badge: (null) ]
Related