带有地理位置网站的 Flutter iOS webview 应用程序不会询问位置权限,即使 info.plist 已调整
Posted
技术标签:
【中文标题】带有地理位置网站的 Flutter iOS webview 应用程序不会询问位置权限,即使 info.plist 已调整【英文标题】:Flutter iOS webview app with Geolocation website doesn't Ask For Location Permission even info.plist is adjusted 【发布时间】:2021-09-15 12:09:22 【问题描述】:我正在尝试使用需要位置权限才能使用地理定位 javascript 的网站制作 webview 应用程序。我尝试了一些快速的方法来启用,但不幸的是无法管理它。 wkwebview-app-doesnt-ask-for-location-permission
在颤振方面,我使用flutter_webview_plugin 启用了地理定位和javascript,我在info.plist 中添加了相同的东西。我还需要做些什么才能获得许可并为网站启用位置?提前致谢
child: WebviewScaffold(
//mediaPlaybackRequiresUserGesture: true,
debuggingEnabled: true,
url: 'https://nakliyemvar.com/isveren/giris.php',
scrollBar: false,
//hidden: true,
withZoom: false,
withJavascript: true,
geolocationEnabled: true,
//withLocalUrl: true,
appCacheEnabled: true,
),
info.plist
<key>NSLocationAlwaysUsageDescription</key>
<string>asd</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>asd.</string>
【问题讨论】:
【参考方案1】:您需要在 Swift 端检查位置授权状态,如果未确定,您需要在打开 web 视图之前请求它。像这样的:
private func manageLocationPermission()
let authorizationStatus = CLLocationManager.authorizationStatus()
switch authorizationStatus
case .notDetermined:
CLLocationManager().requestAlwaysAuthorization()
case .authorizedAlways, .authorizedWhenInUse:
// Open the webview
case .denied:
// Notify the user about it
case .restricted:
break
【讨论】:
感谢您的回答。它更有可能解决这个问题吗? ***.com/questions/68236807/…如何将它与我的代码集成? 看看这个:***.com/questions/58680190/…这是回答你的问题吗?以上是关于带有地理位置网站的 Flutter iOS webview 应用程序不会询问位置权限,即使 info.plist 已调整的主要内容,如果未能解决你的问题,请参考以下文章
Flutter web 在带有深色主题的 Android 浏览器中的颜色错误
Map in Flutter for Web - 将数据从 JS 发送到 Flutter for Web