我认为我们在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无法启动。
以下是设备日志的跟踪记录:
我们正在使用Angular 8构建我们的PWA。
有人看到这样的东西还是可以给我们提示吗?
答案 0 :(得分:3)
答案 1 :(得分:0)
Errr ... no。抱歉,13.4仍然这样做。
我只是告诉用户,如果他们收到了此消息,就应该甩开该应用程序以将其关闭(而不是仅仅回家)。一个不好的解决方法,但希望有一天能真正解决。
答案 2 :(得分:-1)
最后,此问题已在iOS13.4中得到解决