简体   繁体   中英

How to get a list of all installed routing apps?

How can I get programmatically the list of installed "Routing Apps" on iOS?

The reasoning behind this is, that iOS offers heaps of navigation apps and I don't want to maintain a list of the manually.

Apple provides a new functionality since iOS 6 to register your app as a Routing App as described here http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/ProvidingDirections/ProvidingDirections.html#//apple_ref/doc/uid/TP40009497-CH8-SW7

If you then start the routing in the regular maps app you are presented a list of apps that are capable to route you as you can see here:

在此输入图像描述

I couldn't find a way to get the list. Of course I could query if one particular app is installed by using canOpenURL: in UIApplication, but this would be quite tedious.

I know that this must be possible because the famous "Where to?" app offers such a functionality.

Any hints appreciated!

Due to iOS 6 sandboxing, there is no true way to do this because you can't access anything not in your own address space. The Maps application can do this because Apple retains the right to access any data that it wants on your phone, including the apps you have installed.

Ok, I give it a try myself. Maybe the author of "Where to?" does maintain a list of routing apps and checks whether an app is installed or not by querying the url scheme of that app. For all apps that he finds he presents a "ROUTE" button. For all apps the he does not find, he presents an entry that links to the app store.

Of course this would not list all routing apps but it creates the impression that it does by having a long self-compiled list of routing apps.

EDIT: This is a screenshot from "Where to?":

屏幕截图“Where to?”它看起来非常相似,但你实际上可以看到差异

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM