【发布时间】: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。
这是设备日志的跟踪:
我们正在使用 Angular 8 构建 PWA。
有没有人看到过类似的东西或者可以给我们一个提示?
【问题讨论】:
-
同样的问题,我们尝试了很多方法,比如在可见性变化时动态删除和创建文件输入,或者在可见性变化时重新加载页面......到目前为止没有解决方案......我们需要任何人的解决方案找到解决方案了吗?
-
有人向苹果报告过这个错误吗? feedbackassistant.apple.com/welcome
标签: ios input progressive-web-apps angular-pwa