Tengo una aplicación de vista web de IOS y un sitio que activa un script navigator.mediaDevices.getUserMedia para reducir la calidad de la imagen mientras toma una foto en lugar de un compresor. estamos usando este script para abrir una cámara y tomar una imagen.
Funciona bien en el navegador safari de IOS, abre la cámara y toma una foto en baja calidad, pero no funciona en la vista web de la aplicación IOS.
En la aplicación IOS, muestra una pantalla negra y, al depurar la aplicación, arroja un rechazo de promesa no controlado: error no permitido: denegado por el usuario, incluso después de otorgar el permiso dos veces, uno desde el lado del navegador y otro desde el lado de la aplicación.
<video id="video" playsinline autoplay muted> </video> var constraints = { video: { facingMode: { exact: "environment", } } }; navigator.mediaDevices.getUserMedia(constraints) .then(function (stream) { var video = document.querySelector('video'); video.setAttribute('autoplay', ''); video.setAttribute('muted', ''); video.setAttribute('playsinline', ''); video.srcObject = stream; video.onloadedmetadata = function (e) { $('#containercamera').show(); }; })PD: