自动检测安装的所有地图导航应用程序

时间:2017-06-03 18:12:14

标签: ios swift directions turn-by-turn

在iOS苹果地图应用程序中,当选择目的地时,苹果地图可让您选择使用任何已安装的地图应用来获得转向指示。

苹果地图如何做到这一点?有没有办法在我自己的应用程序中实现类似的功能?

一种方法是获取最受欢迎的导航应用列表,检查它们是否支持网址方案,并使用以下方法检查是否安装了任何方案:

if ([[UIApplication sharedApplication] canOpenURL:url]) {
        // mapping app is installed ...
}

然而,这不可靠,因为网址方案可能会发生变化,而且一些映射转弯应用也不支持网址方案。

提前致谢。

1 个答案:

答案 0 :(得分:1)

这就是你要找的东西吗?

哎呀,可能不是你想要的,但这就是Apple Maps的做法。也许在文档中的某个地方(或深入研究它)你可能会找到一种方法。

来自Apple的文档:

  

能够显示点对点路线的iOS应用可以注册为路线应用,并将这些路线提供给地图和其他应用。

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html#//apple_ref/doc/uid/TP40012582-CH26-SW9