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?
quelle
Antworten:
@elbuild
https://bugs.webkit.org/show_bug.cgi?id=206219
Bug wurde hier gepostet. Fühlen Sie sich frei, auch zum Posten beizutragen, um Traktion zu erlangen. Ich werde das Gleiche tun
quelle
Ähm ... nein. 13.4 macht es immer noch, sorry.
Ich sage den Benutzern nur, dass sie, wenn sie dies erhalten, die App wegschneiden sollten, um sie zu schließen (anstatt nur nach Hause zu gehen). Eine schlechte Problemumgehung, aber hoffentlich wird eines Tages eine echte Lösung gefunden.
quelle
Schließlich wurde dies in iOS13.4 behoben
quelle