You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS端使用app:// scheme配置Google Maps域名保护密钥遇阻

Google Maps JS API 不支持app://自定义协议作为允许来源

Google Maps JavaScript API的来源限制机制不认可app://这类自定义协议,它仅支持以下几种类型的来源:

  • 标准HTTP/HTTPS协议(http:///https://开头的域名)
  • file://协议(用于本地加载的网页内容)
  • 特定的浏览器扩展/应用协议(比如chrome-extension://)

所以你在iOS WebView中用app://scheme加载网页并调用API时,即使在控制台添加了app://com.domain,也会触发来源不允许的错误,这是符合官方规则的。

针对iOS WebView的场景,给你几个可行的解决思路:

  • 映射HTTPS自定义域名:通过WKWebView的WKURLSchemeHandler或者NSURLProtocol,将你的Web内容映射到一个https://开头的自定义域名(比如https://yourapp.local),然后把这个域名添加到Google Cloud的密钥允许列表中。这样WebView里的JS API会识别为合法的HTTPS来源。
  • 改用file://协议:如果你的网页是本地资源,直接用file://协议加载,然后在控制台添加file://到允许来源。注意:file://的限制比较宽泛,建议配合其他密钥保护措施(比如限制iOS应用的包名/签名)来提升安全性。
  • 切换到原生SDK:考虑使用Google Maps iOS原生Places SDK替代WebView中的JS API,原生SDK可以通过配置应用的包名和签名来限制密钥使用,不仅避开了scheme的问题,安全性也更高。

内容的提问来源于stack exchange,提问作者Eric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:52:03