如何检查是否安装了苹果地图
How to check if Apple Maps is installed
有人知道如何检查是否安装了 Apple 地图吗?我在文档中找不到任何内容。
使用 iOS10 用户可以删除 Apple 地图应用程序。而对于 Google 地图,我们可以使用 UIApplication.shared.canOpenURL()
来检查它是否已安装。我不知道有这样的东西可以检查 Apple 地图。
当然可以检查用mapItem.openInMaps()
打开MKMapItem
是否失败——但这对提前检查没有帮助。
简单的回答是目前这是不可能的。
原因是Apple Maps应用程序没有被删除,只是应用程序图标从主屏幕上被删除(见Mike D评论)。
此应用程序 (maps://
) 的自定义 url 仍处于注册状态,因此 sharedApplication 可以打开此 url。但是当您尝试打开此 url 并且应用程序图标从主屏幕中删除时,用户会收到有关通过 AppStore 恢复该应用程序的通知。当用户想要恢复应用程序时,它会立即恢复(不下载任何内容)。
MKMapItem.openMaps
的结果意味着只有用户决定是否要打开 Apple 地图。
恕我直言,Apple 地图无法定期卸载,因为它们的数据正被其他应用程序重复使用。
在当前版本中,即 11.2,您似乎可以从 phone 中删除 Apple 地图。但不幸的是,如果你这样做:
if (UIApplication.shared.canOpenURL(URL(string: "maps://")!)) {
//do whatever you need to do here.
}
它仍然 returns true
。
但无论如何它确实可以优雅地处理导航。就我而言,我为用户提供了 Apple 地图和 Google 地图之间的选择器。当 Apple Maps 不存在时,它会为我提供这个,恕我直言,这很好,因为用户不会离开该应用程序,并且可以根据需要选择不同的选项:
有人知道如何检查是否安装了 Apple 地图吗?我在文档中找不到任何内容。
使用 iOS10 用户可以删除 Apple 地图应用程序。而对于 Google 地图,我们可以使用 UIApplication.shared.canOpenURL()
来检查它是否已安装。我不知道有这样的东西可以检查 Apple 地图。
当然可以检查用mapItem.openInMaps()
打开MKMapItem
是否失败——但这对提前检查没有帮助。
简单的回答是目前这是不可能的。
原因是Apple Maps应用程序没有被删除,只是应用程序图标从主屏幕上被删除(见Mike D评论)。
此应用程序 (maps://
) 的自定义 url 仍处于注册状态,因此 sharedApplication 可以打开此 url。但是当您尝试打开此 url 并且应用程序图标从主屏幕中删除时,用户会收到有关通过 AppStore 恢复该应用程序的通知。当用户想要恢复应用程序时,它会立即恢复(不下载任何内容)。
MKMapItem.openMaps
的结果意味着只有用户决定是否要打开 Apple 地图。
恕我直言,Apple 地图无法定期卸载,因为它们的数据正被其他应用程序重复使用。
在当前版本中,即 11.2,您似乎可以从 phone 中删除 Apple 地图。但不幸的是,如果你这样做:
if (UIApplication.shared.canOpenURL(URL(string: "maps://")!)) {
//do whatever you need to do here.
}
它仍然 returns true
。
但无论如何它确实可以优雅地处理导航。就我而言,我为用户提供了 Apple 地图和 Google 地图之间的选择器。当 Apple Maps 不存在时,它会为我提供这个,恕我直言,这很好,因为用户不会离开该应用程序,并且可以根据需要选择不同的选项: