Google Maps的URL方案在iOS 9上无法使用

16

以下的URL方案在之前版本上可以使用,但在iOS 9上不再有效:

comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

iOS 9有什么变化导致URL scheme不能打开其他应用程序吗?

2个回答

31
在iOS 9中,苹果公司对URL方案的处理进行了更改。现在您需要在plist中添加“LSApplicationQueriesSchemes”键,然后添加要调用的URLScheme。
<key>LSApplicationQueriesSchemes</key>
<array>
 <string>comgooglemaps</string>
</array> 

4
我已经添加了这个,但我仍然收到错误信息“-canOpenURL: failed for URL: "comgooglemaps://"- error: "This app is not allowed to query for scheme comgooglemaps"”。 - Don Alejandro

19
在iOS 9.0中,对canOpenURL方法加强了限制--为了让该方法正常工作,您需要在应用的info.plist文件中添加一个LSApplicationQueriesSchemes数组,然后为每个要查询的URL scheme添加项目。这些模式可以是comgooglemapscomgooglemaps-x-callback以及您自己应用的自定义URL scheme。
我已经将以下项目添加到我的info.plist中。
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>comgooglemaps</string>
    <string>comgooglemaps-x-callback</string>
</array>

你可以尝试使用这个示例代码 OpenInGoogleMaps-iOS


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接