Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

550
Views
¿Cómo acceder a la cámara en la aplicación web de la pantalla de inicio de iOS11?

Resumen

No podemos acceder a la cámara desde una aplicación web de la pantalla de inicio de iOS11 (versión pública) usando WebRTC o la entrada de archivo, detalles a continuación. ¿Cómo pueden nuestros usuarios continuar accediendo a la cámara, por favor?

Estamos sirviendo la página de la aplicación web a través de https.

actualización, abril

¡El lanzamiento público de iOS 11.3 parece haber solucionado el problema y el acceso a la cámara de entrada de archivos está funcionando nuevamente!

actualización, marzo

Como la gente aquí ha dicho, los documentos de Apple aconsejan que la función de cámara de la aplicación web regrese en 11.3 junto con los trabajadores de servicio. Esto es bueno, pero aún no estamos seguros de si queremos que todos vuelvan a instalarlo hasta que podamos probar a fondo en 11.3GM.

Solución, noviembre

Perdimos la esperanza de que Apple quisiera arreglar esto y seguimos adelante. Modificamos nuestra aplicación web para eliminar la función "Agregar a la pantalla de inicio" de iOS y solicitamos a los usuarios afectados que eliminen cualquier ícono anterior de la pantalla de inicio.

Actualización, 6 de diciembre

iOS 11.2 e iOS 11.1.2 no solucionan.

Soluciones provisionales, 21 de septiembre

Parece que podríamos preguntar a los clientes existentes de la aplicación web

  • no actualizar a iOS11 - buena suerte con eso :)
  • tome fotos en la cámara iOS y luego selecciónelas nuevamente en la aplicación web
  • esperar a la próxima versión beta de ios
  • reinstalar como una página del navegador Safari (después de que eliminemos la lógica ATHS)
  • cambiar a Android

Entrada de archivo

Nuestro código de producción actual utiliza una entrada de archivo que ha funcionado bien durante años con iOS 10 y versiones anteriores. En iOS11 funciona como una pestaña de Safari, pero no desde la aplicación de la pantalla de inicio. En este último caso se abre la cámara y solo se muestra una pantalla en negro, por lo que queda inutilizable.

 <meta name="apple-mobile-web-app-capable" content="yes"> ... <input type="file" accept="image/*">

WebRTC

Safari 11 en iOS11 ofrece captura de medios WebRTC, lo cual es excelente.

Podemos capturar una imagen de cámara en un lienzo en una página web normal en computadoras de escritorio y dispositivos móviles usando navigator.mediaDevices.getUserMedia según el código de muestra vinculado aquí .

Cuando agregamos la página a la pantalla de inicio de iPad o iPhone, navigator.mediaDevices se vuelve undefined e inutilizable.

 <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;
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Tenemos un problema bastante similar. Hasta ahora, la única solución que pudimos hacer es eliminar la metaetiqueta para que sea "apple-mobile-web-app-capable" y permitir que los usuarios la abran en Safari, donde todo parece funcionar normalmente.

over 4 years ago · Santiago Trujillo Report

0

Actualización : si bien algunos registros de cambios y publicaciones publicados anteriormente me llevaron a creer que las aplicaciones web que usan un manifest.json en lugar de apple-mobile-web-app-capable finalmente tendrían acceso a una implementación WebRTC adecuada, desafortunadamente esto no es cierto, como otros aquí han señalado y las pruebas han confirmado. Cara triste. Perdón por los inconvenientes causados por esto y esperemos que un día de suerte en una galaxia muy, muy lejana, Apple finalmente nos dé acceso a la cámara en las vistas con WebKit (no Safari)...

Sí, como han mencionado otros, getUserMedia solo está disponible directamente en Safari, pero no en UIWebView ni WKWebView, por lo que, lamentablemente, sus únicas opciones son

  • eliminando <meta name="apple-mobile-web-app-capable" content="yes"> para que su 'aplicación' se ejecute en una pestaña normal de Safari, donde se puede acceder a getuserMedia
  • usando un marco como Apache Cordova que le otorga acceso a la cámara de un dispositivo de otras maneras.

Aquí está la esperanza de que Apple elimine esta restricción de WebRTC más temprano que tarde …

Fuente:
Para los desarrolladores que usan WebKit en sus aplicaciones, RTCPeerConnection y RTCDataChannel están disponibles en cualquier vista web, pero el acceso a la cámara y el micrófono actualmente está limitado a Safari.

over 4 years ago · Santiago Trujillo Report

0

¡Buenas noticias! Parece que finalmente se puede acceder a la cámara desde una aplicación web de la pantalla de inicio en la primera versión beta de iOS 11.3.

He hecho un repositorio con algunos archivos, que demuestran que funciona:

https://github.com/joachimboggild/uploadtest

Pasos para probar:

  1. Sirva estos archivos desde un sitio web accesible desde su teléfono
  2. Abra el index.html en iOS Safari
  3. Añadir a la pantalla principal
  4. Abra la aplicación desde la pantalla de inicio. Ahora la página web está abierta en pantalla completa, sin interfaz de usuario de navegación.
  5. Pulse el botón de archivo para seleccionar una imagen de la cámara.

Ahora la cámara debería funcionar normalmente y no ser una pantalla negra. Esto demuestra que la funcionalidad funciona de nuevo.

Debo agregar que uso un campo simple, no getUserMedia o algo así. No sé si eso funciona.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!