iOS独立PWA输入捕获

时间:2019-12-09 18:53:44

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

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

有人看到这样的东西还是可以给我们提示吗?

3 个答案:

答案 0 :(得分:3)

@elbuild

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

错误已发布在此处。随时为发布做贡献,也获得关注,我会做同样的事情

答案 1 :(得分:0)

Errr ... no。抱歉,13.4仍然这样做。

我只是告诉用户,如果他们收到了此消息,就应该甩开该应用程序以将其关闭(而不是仅仅回家)。一个不好的解决方法,但希望有一天能真正解决。

答案 2 :(得分:-1)

最后,此问题已在iOS13.4中得到解决