Penso che abbiamo riscontrato una regressione in iOS 13.2 / 13.3 per quanto riguarda i PWA in esecuzione in modalità standalone.
Poiché su PWA iOS non è possibile accedere a getUserMedia (), ci affidiamo all'attributo capture sul tag di input HTML5 per consentire all'utente di scattare una foto e inviarla a un server.
Il nostro codice è simile al seguente:
<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>
Quando eseguiamo il PWA in modalità autonoma su dispositivi con iOS 13.1 o inferiore, tutto funziona come previsto. Se eseguiamo il PWA in modalità browser su Safari, tutto funziona indipendentemente dalla versione iOS.
Quando eseguiamo il PWA su dispositivi con iOS 13.2 o 13.3 la funzione funziona fino a quando non mettiamo il PWA in background e poi di nuovo in primo piano. Dopo che il PWA è stato inviato in background, l'acquisizione avvia la fotocamera, ma l'anteprima è solo nera. Tutti i controlli della fotocamera (flash, ecc.) Funzionano, ma non viene scattata alcuna foto.
Eseguiamo un test con il logger della console XCode collegato e sembra che AVCaptureSession non possa essere avviato dopo che l'app è stata messa in background una volta.
Ecco una traccia dei registri del dispositivo:
Stiamo costruendo il nostro PWA con Angular 8.
Qualcuno ha visto qualcosa del genere o può darci un suggerimento?