【问题标题】:Native iOS app with WebView not asking for camera permissions带有 WebView 的本机 iOS 应用程序不要求相机权限
【发布时间】:2020-01-29 08:05:46
【问题描述】:

我正在使用 Xamarin 编写一个 iOS 本机应用程序。本机应用程序只包含几行代码,它基本上是一个网站的包装器。本机应用程序本身包含一个加载单页应用程序的 WebView。

该网站使用此节点包 (https://www.npmjs.com/package/@zxing/library) 来实现条形码扫描仪。扫描仪使用 iPad 上的摄像头来扫描条形码。当您开始扫描时,网站会请求访问相机的权限,然后启动它开始扫描。

如果我直接通过 iPad 上的 Safari 访问我的网站,则扫描仪可以正常工作。当我调用开始扫描时,Safari 请求访问相机的权限,我授予它,它就可以工作了。

当我使用我的本机应用程序访问网站(同样,它仅包含一个 WebView)时,我从未获得访问相机的权限请求。条形码扫描仪所在的 div 仅显示空白的白色背景。

我已将 NSCameraUsageDescription 标记添加到我的 Info.plist 中,并为其提供了足够长的描述。我添加了对 NuGet 包的引用,该包允许您手动请求相机权限。我还尝试手动进入 iPad 的应用程序设置并以这种方式授予相机权限。没有任何效果。我从来没有被提示访问相机。相机永远不会启动/开始扫描。

我很困惑为什么扫描仪在 Safari 中的 iPad 上工作得非常好,但在本机应用程序中却不能工作?

【问题讨论】:

  • 你使用 WKWebView 还是 UIWebView ?如果是 WKWebView,请确保您正在处理回调/委托以显示警报 - stackoverflow.com/a/51667317/3145189
  • 您找到解决方案了吗?您使用的是哪个 WebView? WKWebView/UIWebView/SFSafariViewController?

标签: ios xamarin safari permissions camera


【解决方案1】:

找到了答案。显然 iOS 应用程序中的 UIWebView 不支持摄像头访问。这是 ZXing GitHub 页面的链接描述它:https://github.com/zxing-js/library/issues/15

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 2016-08-13
    • 2020-05-03
    • 1970-01-01
    • 2015-05-12
    • 2021-06-11
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多