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

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

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

一种方法是获取最流行的导航应用程序列表,检查它们是否支持url方案,并使用以下命令检查是否安装了任何这些应用程序:

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

但是,这不可靠,因为url方案可能会发生变化,而且一些映射转弯应用程序也不支持url方案.

提前致谢.

最佳答案 这是你在找什么?

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

来自Apple的文档:

iOS apps that are able to display point-to-point directions can register as routing apps and make those directions available to Maps and other apps.

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

点赞