如何检查Apple Maps是否已安装

tcu*_*rdt 16 mapkit ios ios10

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

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

当然,你可以检查是否打开MKMapItemmapItem.openInMaps()失败-但是,这并不帮助提前检查.

JMI*_*JMI 14

简单的答案是目前不可能.

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

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

结果MKMapItem.openMaps仅表示用户决定是否要打开Apple Maps.

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


azw*_*eiz 7

在当前版本 11.2 中,您似乎可以从手机中删除 Apple 地图。但不幸的是,如果您执行以下操作:

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

它仍然返回true

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

在此处输入图片说明