【问题标题】:Google Maps URL scheme not working on iOS 9谷歌地图 URL 方案不适用于 iOS 9
【发布时间】:2015-12-17 15:20:34
【问题描述】:

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

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

iOS 9 上是否发生了一些变化,阻止应用使用 URL 方案打开其他应用?

【问题讨论】:

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


    【解决方案1】:

    在 iOS 9 中,Apple 对 URL 方案的处理进行了更改。 现在您需要在 plist 中添加“LSApplicationQueriesSchemes”键,然后添加您要调用的 URLScheme。

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

    【讨论】:

    • 我已经添加了这个,但我仍然收到错误消息“-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps""
    【解决方案2】:

    在 iOS 9.0 中,canOpenURL 方法受到了进一步的限制——要使此方法起作用,您需要将 LSApplicationQueriesSchemes 数组添加到应用程序的 info.plist 文件中,然后为每个 @ 添加项目987654325@你会想查询。这些方案为comgooglemapscomgooglemaps-x-callback,以及您自己应用的自定义 URL 方案。

    我在 info.plist 中添加了以下项目。

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

    试试这个示例代码OpenInGoogleMaps-iOS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      相关资源
      最近更新 更多