检查是否安装了Google地图 - iOS 10.2.1

Ray*_*ach 10 ios swift

我只是将手机升级到iOS 10.2.1.

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

UIApplication.shared.canOpenURL(NSURL(string:"comgooglemaps://")! as URL)
Run Code Online (Sandbox Code Playgroud)

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

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

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

iOS 10.2.1中是否存在某种更改,导致第一个表达式无法评估为真?

网址似乎相同(comgooglemaps)

现在在plist中是否需要一些东西?

Ahm*_*d F 17

你实现的是合法的,但是你必须通过添加LSApplicationQueriesSchemes数组并向其添加"comgooglemaps"来将URL方案添加到应用程序info.plist:

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

它应该是 - 类似于:

在此输入图像描述

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