【问题标题】:iOS Standalone PWA input captureiOS 独立 PWA 输入捕获
【发布时间】:2020-04-02 22:00:01
【问题描述】:

我认为我们在 iOS 13.2/13.3 中发现了关于在独立模式下运行的 PWA 的回归。

由于在 iOS PWA 上无法访问 getUserMedia(),我们依赖 HTML5 输入标签上的 capture 属性让用户拍照并将其发送到服务器。

我们的代码如下所示:

<div class="camera-upload">
     <input type="file" class="hidden" name="uploadPhotoInput" accept="image/*" capture="environment" (change)="onTakePhoto($event)">
     <button type="button" class="btn btn-primary">Take photo</button>
</div>

当我们在 iOS 13.1 或更低版本的设备上以独立模式运行 PWA 时,一切正常。如果我们在 Safari 上以浏览器模式运行 PWA,则无论 iOS 版本如何,一切正常。

当我们在装有 iOS 13.2 或 13.3 的设备上运行 PWA 时,该功能一直有效,直到我们将 PWA 置于后台,然后再次置于前台。在 PWA 发送到后台后,捕获启动相机,但预览是黑色的。所有相机控件(闪光灯等)都可以使用,但没有拍照。

我们在附加了 XCode 控制台记录器的情况下运行了一个测试,它看起来在应用程序进入后台一次后无法启动 AVCaptureSession。

这是设备日志的跟踪:

https://pastebin.com/qGZpN6dM

我们正在使用 Angular 8 构建 PWA。

有没有人看到过类似的东西或者可以给我们一个提示?

【问题讨论】:

  • 同样的问题,我们尝试了很多方法,比如在可见性变化时动态删除和创建文件输入,或者在可见性变化时重新加载页面......到目前为止没有解决方案......我们需要任何人的解决方案找到解决方案了吗?
  • 有人向苹果报告过这个错误吗? feedbackassistant.apple.com/welcome

标签: ios input progressive-web-apps angular-pwa


【解决方案1】:

呃……不。 13.4 还在,抱歉。

我只是告诉用户,如果他们得到这个,他们应该轻弹应用程序以关闭它(而不是仅仅回家)。一个糟糕的解决方法,但希望有一天真正的解决办法会到来。

【讨论】:

    【解决方案2】:

    终于在iOS13.4解决了这个问题

    【讨论】:

      【解决方案3】:

      @elbuild

      https://bugs.webkit.org/show_bug.cgi?id=206219

      错误已发布在这里。随时为发帖做出贡献以获得牵引力,我也会这样做

      【讨论】:

      • 感谢您添加错误报告。我在 13.3 中遇到了这个问题。更新到 13.5.1 对我有用。
      猜你喜欢
      • 2022-12-21
      • 1970-01-01
      • 2019-09-28
      • 2018-03-06
      • 2019-09-20
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 2019-12-28
      相关资源
      最近更新 更多