带有位置服务的 wkwebview

Posted

技术标签:

【中文标题】带有位置服务的 wkwebview【英文标题】:wkwebview with location services 【发布时间】:2014-09-24 14:48:11 【问题描述】:

我一直在尝试 swift 并想尝试 wkwebview。 我已经构建了一个应用程序,它一切正常,但问题是我加载到我的 wkwebview 的网页使用谷歌地图并且需要位置服务,所以 javascript 应该提示一条消息,说“这个应用程序需要你的位置信息”。 swift 应用程序 wkwebview 不显示任何消息也不显示我的谷歌地图。如果我使用 safari 浏览器访问 url,它会提示位置消息,并且在 ios 7 的 uiwebview 中也会提示该消息。 还有其他人遇到过这个并知道解决方案吗?

【问题讨论】:

【参考方案1】:

在 iOS 8 中,您需要在您的 Info.plist 中有一个密钥,系统可以使用该密钥来提示您使用位置信息。在您的情况下,您希望使用键 NSLocationWhenInUseUsageDescription 添加键/值对。该对的值将显示在系统的 first 弹出窗口中,询问您的应用是否可以访问位置服务。然后谷歌地图将被允许弹出自己的警报。

【讨论】:

我正在尝试在 iOS 13.3 上实现相同的功能,当用户在点击 Google 地图的“您的位置”按钮时在弹出窗口中确认位置访问时,我的应用程序崩溃了。这适用于 Safari 上的 2 个不同的确认弹出窗口,但在我的应用程序中,它要求默认位置弹出窗口,而不是第二个弹出窗口。如果您对此有任何想法,请告诉我。

以上是关于带有位置服务的 wkwebview的主要内容,如果未能解决你的问题,请参考以下文章

带有 Google Play 服务位置的 Android 服务导致应用程序随机打开

如何在 wkwebview 中重置地理位置的权限

如何在wkwebview中重置地理位置的权限

如何将带有位置的数据实时发送到服务器?我做对了吗?

如何获取 WKWebView 上指定位置的信息?

带有 Google Play 服务的 Android Studio“仅限设备”位置不起作用