我认为我们在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。
有没有人看到这样的东西或可以给我们提示?
同样的问题,我们尝试了很多操作,例如在可见性更改时动态删除和创建文件输入,或在可见性更改时重新加载页面...到目前为止,没有解决方案...我们需要一个解决方案,有人找到了解决方案吗?
—
Graben
—
Graben
有人向苹果报告过该错误吗?feedbackassistant.apple.com/welcome
—
Graben