Résumé
Nous ne pouvons pas accéder à la caméra à partir d'une application Web de l'écran d'accueil d'iOS11 (version publique) en utilisant WebRTC ou l'entrée de fichier, détails ci-dessous. Comment nos utilisateurs peuvent-ils continuer à accéder à la caméra ?
Nous servons la page de l'application web sur https.
Mise à jour, avril
La version publique d'iOS 11.3 semble avoir corrigé le problème et l'accès à la caméra d'entrée des fichiers fonctionne à nouveau !
Mise à jour, mars
Comme d'autres personnes l'ont dit ici, les documents d'Apple indiquent que la fonction de caméra de l'application Web revient dans la version 11.3, ainsi que les travailleurs de service. C'est une bonne chose mais nous ne sommes pas encore sûrs de vouloir réinstaller tout le monde jusqu'à ce que nous puissions faire des tests approfondis sur 11.3GM.
Solution, novembre
On a perdu l'espoir qu'Apple veuille réparer ça et on a avancé. Nous avons modifié notre application web pour supprimer la fonction iOS "Ajouter à l'écran d'accueil" et demandé aux utilisateurs concernés de supprimer toute icône d'écran d'accueil antérieure.
Mise à jour, 6 décembre
iOS 11.2 et iOS 11.1.2 ne règlent pas le problème.
Solutions de contournement, 21 septembre
Il semble que nous pourrions demander aux clients existants de l'application web
- ne pas passer à iOS11 - bonne chance pour cela :)
- prendre des photos avec l'appareil photo d'iOS, puis les sélectionner à nouveau dans l'application Web
- attendez la prochaine bêta d'ios
- réinstaller comme une page Safari dans le navigateur (après avoir supprimé la logique ATHS)
- passer à Android
Entrée du fichier
Notre code de production actuel utilise une entrée de fichier qui fonctionne bien depuis des années avec iOS 10 et plus. Sous iOS11, il fonctionne en tant qu'onglet Safari mais pas à partir de l'application de l'écran d'accueil. Dans ce dernier cas, l'appareil est ouvert et seul un écran noir s'affiche, ce qui le rend inutilisable.
<meta name="apple-mobile-web-app-capable" content="yes">
...
<input type="file" accept="image/*">
WebRTC
Safari 11 sur iOS11 offre Capture des médias WebRTC ce qui est génial.
Nous pouvons capturer l'image d'une caméra pour l'afficher sur une page Web normale sur un ordinateur de bureau ou un téléphone portable en utilisant navigator.mediaDevices.getUserMedia per. l'exemple de code lié ici .
Lorsque nous ajoutons la page à l'écran d'accueil de l'iPad ou de l'iPhone, navigator.mediaDevices
devient undefined
et inutilisable.
<meta name="apple-mobile-web-app-capable" content="yes">
...
// for some reason safari on mac can debug ios safari page but not ios home screen web apps
var d = 'typeof navigator : ' + typeof navigator; //object
d += 'typeof navigator.mediaDevices : ' + typeof navigator.mediaDevices; // undefined
// try alternates
d += 'typeof navigator.getUserMedia : ' + typeof navigator.getUserMedia; // undefined
d += 'typeof navigator.webkitGetUserMedia : ' + typeof navigator.webkitGetUserMedia; // undefined
status1.innerHTML = d;
0 votes
J'ai eu le même problème avec la dernière bêta. Avec la version release, la page d'accueil ne fonctionne pas et safari ne fonctionne pas non plus (par exemple la page vers laquelle vous faites un lien). Ceci sur un iPhone7
5 votes
J'espère qu'ils vont le corriger, mais cela peut être un autre exemple d'Apple poussant les développeurs dans leur magasin d'applications en dégradant l'UX de Safari.
3 votes
J'essaie d'apprendre le développement progressif d'applications Web et, en testant une application sur Android et iOS, j'ai également rencontré ce problème. La navigation vers l'application dans un navigateur fonctionne bien, mais lorsque j'enregistre l'application sur l'écran d'accueil depuis Safari et que j'essaie de l'utiliser comme une application, j'obtiens un écran noir lorsque j'essaie d'accéder à l'appareil photo.
0 votes
J'ai le même problème. Lorsque je l'enregistre sur l'écran d'accueil et que j'essaie d'accéder à la caméra via la "web app", elle devient noire et inutilisable.
0 votes
20 novembre - Sortie de la version 11.1.2 d'iOS. Le bug est toujours là.
0 votes
Quelqu'un a-t-il le lien vers le problème de webkit ?
2 votes
IOS : 11.2.1 - Le problème persiste...
2 votes
IOS : 11.2.2 - Le problème persiste...
1 votes
IOS 11.2.5 : le problème est toujours là
0 votes
IOS 11.3 Beta - Il ne fonctionne toujours pas complètement, getUserMedia et webkitGetUserMedia sont tous deux indéfinis.
0 votes
Cela semble fonctionner à nouveau dans iOS 11.4.
1 votes
Comment faire pour que ça marche ? getUserMedia et webkitGetUserMedia sont tous deux indéfinis.
3 votes
IOS 11.4.1 ne semble pas fonctionner pour moi ; quelqu'un a-t-il de la chance ?
0 votes
IOS 13+ même problème
0 votes
IOS 13.3 ... toujours buggé
1 votes
... attendre ... le tester maintenant, il n'a pas rester noir en utilisant l'entrée de fichier - sélection de la caméra, je pouvais prendre une photo et il a travaillé ... étrange ... hier et les jours passés, il n'a pas. Super peu fiable.