Comment accéder à la caméra sur iOS11 écran d'accueil web app?
Sommaire
Nous ne pouvons pas accéder à la caméra à partir d'un iOS11 (version publique) de l'écran d'accueil web app à l'aide soit WebRTC ou le fichier d'entrée, les détails ci-dessous. Comment nos utilisateurs de continuer à accéder à l'appareil photo s'il vous plaît?
Nous sommes au service de la page de l'application web via https.
Mise À Jour, Avril
La diffusion publique d'iOS 11.3 semble avoir résolu le problème et le fichier de saisie accéder à la caméra fonctionne à nouveau!
Mise À Jour, Mars
Comme les gens d'ici ont dit la Pomme docs conseiller web app fonction appareil photo est de retour dans 11.3 le long avec le service des travailleurs. C'est bon, mais nous ne sommes pas encore sûr si nous voulons à tout le monde à le réinstaller à nouveau jusqu'à ce que nous pouvons tester soigneusement sur 11.3 GM.
Solution, Novembre
Nous avons perdu l'espoir d'Apple veulent corriger cela et de faire avancer. Modifié notre web app pour supprimer les iOS "Ajouter à l'écran d'accueil" et que l'on demande aux utilisateurs concernés de retirer précédente à l'écran d'accueil icône.
Mise À Jour, Le 6 Décembre
iOS 11.2 et iOS 11.1.2 ne pas corriger.
Des Solutions De Contournement, 21 Septembre
Semble que nous pouvons demander à des clients existants de la web app
- pas la mise à niveau de iOS11 - bonne chance 🙂
- prendre des photos dans iOS appareil photo, puis sélectionnez de nouveau dans l'application web
- attendre pour le prochain ios beta
- réinstaller comme un Safari en page de votre navigateur (après nous retirer ATHS logique)
- passer à Android
Fichier D'Entrée
Notre production actuelle de code utilise un fichier d'entrée qui a bien fonctionné pendant des années avec iOS 10 ans et plus. Sur iOS11 il fonctionne comme un Safari onglet, mais pas à partir de l'écran d'accueil de l'app. Dans ce dernier cas, l'appareil photo est ouvert, et seulement un écran noir est affiché, il est donc inutilisable.
<meta name="apple-mobile-web-app-capable" content="yes">
...
<input type="file" accept="image/*">
WebRTC
Safari 11 sur iOS11 offre WebRTC médias capture qui est grand.
Nous pouvons capturer une image de la caméra sur la toile sur un page web sur un ordinateur de bureau et mobile à l'aide du navigateur.mediaDevices.getUserMedia par l'exemple de code ici.
Lorsque nous ajoutons de la page pour iPad ou un iPhone à l'écran d'accueil, 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;
- J'ai eu le même problème avec la dernière version bêta. Avec la version de la page d'accueil ne fonctionne pas et aussi safari ne fonctionne pas (par exemple la page en lien). C'est sur un iPhone7
- J'espère qu'ils vont régler le problème, mais cela peut être un autre exemple de la Pomme de pousser les développeurs dans leur app store par la dégradation de Safari UX.
- Je suis en train d'apprendre progressive de la web-app de développement et lors du test d'une application sur Android et iOS que j'ai rencontré ce problème. La navigation à l'application dans un navigateur fonctionne très bien, mais une fois que je "pour enregistrer l'écran d'accueil" à partir de safari et d'essayer de l'utiliser comme une application, j'obtiens un écran noir lorsque vous essayez d'accéder à la caméra.
- J'ai le même problème. Quand je l'enregistrer à l'écran d'accueil et d'essayer d'accéder à la caméra via le "web app" il transforme tout noir et pas utilisable
- Nov 20 - iOS 11.1.2 libéré. Le Bug est toujours là.
- Quelqu'un a le lien pour le webkit problème?
- iOS: 11.2.1 - Le problème persiste...
- iOS: 11.2.2 - Le problème persiste...
- iOS 11.2.5: Le problème est toujours là
- iOS 11.3 Bêta ne fonctionne Toujours pas entièrement, getUserMedia et webkitGetUserMedia sont à la fois indéfini.
- Cela semble être au travail à nouveau dans iOS 11.4
- comment obtenir de travail? getUserMedia et webkitGetUserMedia sont à la fois non défini
- iOS 11.4.1 ne semble pas être de travailler pour moi un peu de chance quelqu'un?
Vous devez vous connecter pour publier un commentaire.
Nous avons tout à fait le même problème. Jusqu'à présent, la seule solution que nous avons pu faire est de supprimer la balise meta pour qu'il soit "apple-mobile-web-app-capable" et de laisser les utilisateurs à ouvrir dans Safari, où tout semble fonctionner normalement.
Mise à jour: Alors que certains avait déjà publié un changelog et des affectations m'ont amené à croire que des Applications Web à l'aide d'un
manifest.json
au lieu deapple-mobile-web-app-capable
allait enfin avoir accès à une bonne WebRTC mise en œuvre, malheureusement, ce n'est pas vrai, comme d'autres ici l'ont souligné et les tests ont confirmé. Triste visage.Désolé pour les inconvénients causés par ce et espérons qu'un jour de chance dans une galaxie loin, loin, Apple va enfin nous donner accéder à la caméra dans les vues powered by (non-Safari WebKit...
Oui, comme d'autres l'ont mentionné, getUserMedia n'est disponible directement dans Safari mais ni dans une UIWebView, ni WKWebView, donc, malheureusement, votre seul choix sont
<meta name="apple-mobile-web-app-capable" content="yes">
de sorte que votre application s'exécute dans un normal Safari onglet, où getuserMedia est accessibleNous espérons que Apple supprime cette WebRTC restriction plutôt tôt que tard...
Source:
Pour les développeurs qui utilisent WebKit dans leurs applications, RTCPeerConnection et RTCDataChannel sont disponibles dans le site web de vue, mais l'accès à la caméra et au microphone est actuellement limitée à Safari.
getUserMedia
etwebkitGetUserMedia
sont à la fois non défini lors de l'utilisation de<meta name="apple-mobile-web-app-capable" content="yes">
De bonnes nouvelles! La caméra semble enfin être accessible à partir d'un écran d'accueil web application iOS 11.3 bêta.
J'ai fait un repo avec un peu de fichiers, ce qui prouve que cela fonctionne:
https://github.com/joachimboggild/uploadtest
Procédure de test:
Maintenant que l'appareil devrait fonctionner normalement et de ne pas être un écran noir. Cela démontre que la fonctionnalité fonctionne de nouveau.
Je dois ajouter que j'utilise un champ simple, pas getUserMedia ou somesuch. Je ne sais pas si cela fonctionne.
Est apparemment résolu dans "ios 13 beta 1":
https://twitter.com/ChromiumDev/status/1136541745158791168?s=09
Cela semble être au travail à nouveau dans iOS 11.4 si vous utilisez un fichier de champ de saisie.