Tôi nghĩ rằng chúng tôi đã tìm thấy hồi quy trong iOS 13.2 / 13.3 liên quan đến PWAs chạy ở chế độ độc lập.
Vì trên iOS PWA không thể truy cập getUserMedia (), chúng tôi dựa vào thuộc tính chụp trên thẻ đầu vào HTML5 để cho phép người dùng chụp ảnh và gửi nó đến máy chủ.
Mã của chúng tôi trông như thế này:
<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>
Khi chúng tôi chạy PWA ở chế độ độc lập trên các thiết bị có iOS 13.1 hoặc thấp hơn, mọi thứ sẽ hoạt động như mong đợi. Nếu chúng tôi chạy PWA ở chế độ trình duyệt trên Safari, mọi thứ sẽ hoạt động bất kể phiên bản iOS.
Khi chúng tôi chạy PWA trên các thiết bị có iOS 13.2 hoặc 13.3, tính năng này hoạt động cho đến khi chúng tôi đặt PWA ở chế độ nền và sau đó lại ở phía trước. Sau khi PWA được gửi đến nền, chụp sẽ khởi chạy camera, nhưng phần xem trước có màu đen. Tất cả các điều khiển máy ảnh (flash, v.v.) hoạt động, nhưng không có hình ảnh nào được chụp.
Chúng tôi chạy thử nghiệm với trình ghi nhật ký bảng điều khiển XCode được đính kèm và có vẻ như AVCaptureSession không thể khởi động sau khi ứng dụng được đặt trong nền một lần.
Dưới đây là dấu vết của nhật ký thiết bị:
Chúng tôi đang xây dựng PWA của chúng tôi với Angular 8.
Có ai nhìn thấy một cái gì đó như thế này hoặc có thể cho chúng ta một gợi ý?