【问题标题】:Check if Google Maps Is Installed - iOS 10.2.1检查是否安装了谷歌地图 - iOS 10.2.1
【发布时间】:2017-01-29 14:52:47
【问题描述】:

我刚刚将我的手机升级到 iOS 10.2.1。

在我的 Swift 应用程序(使用 3.0)中,我正在尝试检查手机上是否安装了 Google 地图。如果是,请在 Google 地图中打开此地址。

UIApplication.shared.canOpenURL(NSURL(string:"comgooglemaps://")! as URL)

即使我安装了 Google 地图,该表达式的计算结果仍为 false。

奇怪的是,我可以用这个在 Swift 中打开谷歌地图

UIApplication.shared.open(NSURL(string:
            "comgooglemaps://?saddr=&daddr=\(lat),\(lon)&directionsmode=driving")! as URL, options: [:], completionHandler: nil)

iOS 10.2.1 中是否有某种变化阻止了第一个表达式的计算结果为真?

网址似乎相同(comgooglemaps)

plist 现在有什么需要的吗?

【问题讨论】:

标签: ios swift


【解决方案1】:

您正在实施的是合法的,但您必须将 URL 方案添加到应用程序 info.plist,方法是添加 LSApplicationQueriesSchemes 数组并附加 "comgooglemaps"给它:

LSApplicationQueriesSchemes (Array - iOS) 指定 URL 方案 您希望应用程序能够与 canOpenURL: 的方法一起使用 UIApplication 类。对于您希望应用使用的每个 URL 方案 canOpenURL: 方法,将其作为字符串添加到此数组中。阅读 canOpenURL:有关重要信息的方法描述 声明支持的方案并使用该方法。

应该-有点-类似于:

有关更多信息,您可能需要查看文档(如上所述)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 2018-10-20
    • 2021-11-23
    相关资源
    最近更新 更多