canOpenURL无法在ios 10中运行

时间:2016-10-18 23:21:02

标签: ios swift ios10 info.plist openurl

上面的代码总是返回false

if {(UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!))}

我猜这是iOS10中发现的问题。 我试图打开谷歌地图应用程序,如果有一个安装或尝试打开苹果地图,所以想使用canOpenURL。有没有其他选择

2 个答案:

答案 0 :(得分:18)

将此添加到您的Info.plist,然后尝试调用canOpenURL。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>comgooglemaps</string>
</array>

答案 1 :(得分:4)

编辑:

应用的 plist 文件中使用的正确密钥为LSApplicationQueriesSchemes,而不是Apple文档中所述的UIDefaultLaunchStoryboard

原始答案:

来自Apple的文档:

  

如果您的应用在iOS 9.0上或之后进行了关联,则必须声明该网址   您想要传递给此方法的方案。这样做是通过使用   Xcode项目的Info.plist中的UIDefaultLaunchStoryboard数组   文件。对于您希望应用与此方法一起使用的每种网址方案,   将其添加为此数组中的字符串。

     

如果您的(iOS 9.0或更高版本)应用使用您的方案调用此方法   没有声明,该方法返回false,无论是否   该方案的相应应用程序已安装在设备上。

您可以详细了解here