用于启动Google地图的网址架构在iOS 9中投放警告但也无法正常运行

时间:2015-10-21 06:12:29

标签: ios objective-c google-maps ios9 url-scheme

以下代码在iOS 8.4及更早版本中运行良好,但是从iOS 9.0开始,它始终会发出警告并始终提供false

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps-x-callback://"]]

警告如下:

-canOpenURL: failed for URL: "comgooglemaps-x-callback://" - error: "This app is not allowed to query for scheme comgooglemaps-x-callback"

有没有人知道,为什么它在iOS 9中失败以及为什么把错误抛到This app is not allowed to query for scheme comgooglemaps-x-callback,是否需要查询它的权限?

修改

我在info.plist中添加了以下项目,但它仍然存在同样的问题。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>comgooglemaps</string>
    <string>comgooglemaps-x-callback</string>
</array>

1 个答案:

答案 0 :(得分:7)

您必须在Info.plist中添加一个LSApplicationQueriesSchemes条目,并列出您希望应用查询的方案。

<key>LSApplicationQueriesSchemes</key>
<array>
     <string>urlscheme</string>
     <string>urlscheme2</string>
     <string>urlscheme3</string>
     <string>urlscheme4</string>
</array>

请参阅http://useyourloaf.com/blog/querying-url-schemes-with-canopenurl.html(还包含指向相应WWDC15-Session-Video的链接)