10

我认为我们在 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。

有没有人看到过这样的事情或者可以给我们一个提示?

4

3 回答 3

3

@elbuild

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

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

于 2020-01-14T10:43:57.340 回答
0

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

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

于 2020-04-04T14:45:38.627 回答
-1

终于在iOS13.4中解决了

于 2020-04-02T03:37:32.193 回答