web-dev-qa-db-fra.com

Capture d'entrée autonome PWA iOS

Je pense que nous avons trouvé une régression dans iOS 13.2/13.3 en ce qui concerne les PWA fonctionnant en mode autonome.

Étant donné que sur iOS PWA ne peut pas accéder à getUserMedia (), nous comptons sur l'attribut capture sur la balise d'entrée HTML5 pour permettre à l'utilisateur de prendre une photo et de l'envoyer à un serveur.

Notre code ressemble à ceci:

<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>

Lorsque nous exécutons le PWA en mode autonome sur des appareils avec iOS 13.1 ou inférieur, tout fonctionne comme prévu. Si nous exécutons le PWA en mode navigateur sur Safari, tout fonctionne quelle que soit la version iOS.

Lorsque nous exécutons le PWA sur des appareils avec iOS 13.2 ou 13.3, la fonctionnalité fonctionne jusqu'à ce que nous mettions le PWA en arrière-plan, puis à nouveau au premier plan. Une fois le PWA envoyé à l'arrière-plan, la capture lance l'appareil photo, mais l'aperçu est noir. Toutes les commandes de l'appareil photo (flash, etc.) fonctionnent, mais aucune photo n'est prise.

Nous exécutons un test avec l'enregistreur de console XCode attaché et il semble qu'AVCaptureSession ne puisse pas être démarré après que l'application a été mise en arrière-plan une fois.

Voici une trace des journaux de l'appareil:

https://Pastebin.com/qGZpN6dM

Nous construisons notre PWA avec Angular 8.

Quelqu'un a-t-il vu quelque chose comme ça ou peut-il nous donner un indice?

9
elbuild

@elbuild

https://bugs.webkit.org/show_bug.cgi?id=206219

Le bug a été publié ici. N'hésitez pas à contribuer également à l'affichage pour gagner du terrain, je ferai de même

1
Lake Sereni

Enfin, cela a été résolu dans iOS13.4

0
Keith Coughtrey

Euh ... non. 13.4 le fait toujours, désolé.

Je dis simplement aux utilisateurs que s'ils l'obtiennent, ils doivent effacer l'application pour la fermer (plutôt que de simplement rentrer à la maison). Une mauvaise solution de contournement, mais j'espère qu'un vrai correctif arrivera un jour.

0
Eureka