如何检查Apple Maps是否已安装

时间:2016-09-20 20:21:54

标签: ios mapkit ios10

任何人都知道如何检查Apple Maps是否已安装?我在文档中找不到任何内容。

使用iOS10,用户可以删除Apple Maps应用程序。对于谷歌地图,我们可以使用UIApplication.shared.canOpenURL()来检查它是否已安装。我不知道检查Apple Maps存在这样的事情。

当然可以检查MKMapItem打开mapItem.openInMaps()是否失败 - 但这对提前检查无效。

2 个答案:

答案 0 :(得分:13)

简单的答案是目前无法做到这一点。

原因是Apple Maps应用程序未被删除,只有应用程序图标从主屏幕中删除(参见Mike D评论)。

此应用的自定义网址(maps://)仍然已注册,因此sharedApplication可以打开此网址。但是当您尝试打开此URL并从主屏幕中删除应用程序图标时,将通知用户通过AppStore还原应用程序。当用户想要恢复应用程序时,它会立即恢复(没有下载任何内容)。

MKMapItem.openMaps的结果仅表示用户决定是否要打开Apple地图。

IMHO Apple Maps无法定期卸载,因为其数据正在被其他应用程序重用。

答案 1 :(得分:4)

在当前版本(即11.2)中,您似乎可以从手机中删除Apple地图。但不幸的是,如果你做了类似的事情:

 if (UIApplication.shared.canOpenURL(URL(string: "maps://")!)) {
        //do whatever you need to do here.
 }

它仍会返回true

但无论如何它确实能够优雅地处理导航。就我而言,我正在为用户提供Apple Maps和Google Maps之间的选择器。当Apple Maps不存在时,它为我提供了这个,恕我直言,这很好,因为用户没有从应用程序导航,并可以选择不同的选项,如果他们想:

enter image description here