Ich denke, wir haben in iOS 13.2 / 13.3 eine Regression in Bezug auf PWAs gefunden, die im Standalone-Modus ausgeführt werden.
Da PWA unter iOS nicht auf getUserMedia () zugreifen kann, verwenden wir das Capture- Attribut im HTML5-Eingabetag, damit der Benutzer ein Bild aufnehmen und an einen Server senden kann.
Unser Code sieht folgendermaßen aus:
<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>
Wenn wir die PWA im Standalone-Modus auf Geräten mit iOS 13.1 oder niedriger ausführen, funktioniert alles wie erwartet. Wenn wir die PWA auf Safari im Browsermodus ausführen, funktioniert alles unabhängig von der iOS-Version.
Wenn wir die PWA auf Geräten mit iOS 13.2 oder 13.3 ausführen, funktioniert die Funktion, bis wir die PWA in den Hintergrund und dann wieder in den Vordergrund stellen. Nachdem die PWA in den Hintergrund gesendet wurde, startet die Aufnahme die Kamera, aber die Vorschau ist nur schwarz. Alle Kamerasteuerungen (Blitz usw.) funktionieren, es wird jedoch kein Bild aufgenommen.
Wir führen einen Test mit angeschlossenem XCode-Konsolenlogger durch und es sieht so aus, als ob AVCaptureSession nicht gestartet werden kann, nachdem die App einmal in den Hintergrund gestellt wurde.
Hier ist eine Ablaufverfolgung der Geräteprotokolle:
Wir bauen unsere PWA mit Angular 8.
Hat jemand so etwas gesehen oder kann uns einen Hinweis geben?