Acho que encontramos uma regressão no iOS 13.2 / 13.3 em relação aos PWAs em execução no modo autônomo.
Como no iOS, o PWA não pode acessar getUserMedia (), contamos com o atributo capture na tag de entrada HTML5 para permitir que o usuário tire uma foto e envie-a para um servidor.
Nosso código fica assim:
<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 executamos o PWA no modo autônomo em dispositivos com iOS 13.1 ou inferior, tudo funciona conforme o esperado. Se rodarmos o PWA no modo navegador no Safari, tudo funcionará independentemente da versão do iOS.
Quando executamos o PWA em dispositivos com iOS 13.2 ou 13.3, o recurso funciona até colocarmos o PWA em segundo plano e depois em primeiro plano novamente. Depois que o PWA é enviado para o fundo, a captura inicia a câmera, mas a visualização fica preta. Todos os controles da câmera (flash, etc) funcionam, mas nenhuma foto é tirada.
Executamos um teste com o logger do console XCode conectado e parece que o AVCaptureSession não pode ser iniciado depois que o aplicativo foi colocado em segundo plano uma vez.
Aqui está um rastreamento dos logs do dispositivo:
Estamos construindo nosso PWA com o Angular 8.
Alguém viu algo assim ou pode nos dar uma dica?