¿Pueden las aplicaciones acceder a mi cámara sin decírmelo?

Supongamos que doy permiso a una aplicación para acceder a mi cámara (y/o micrófono) para tomar una foto. Después de tomar la foto, ¿puede la aplicación acceder a mi cámara sin preguntarme?

Pensé en esto mientras usaba la aplicación de mensajería de Facebook. La aplicación le permite tomar fotografías y enviarlas directamente a sus mensajes de Facebook. ¿La aplicación también puede "mirar" a través de mi cámara mientras me desplazo por los contactos (o hago cualquier otra cosa que no esté relacionada con las fotos)?

Disculpas si esto ya ha sido respondido.

Respuestas (2)

Esta pregunta sobre StackExchange me llevó a la Guía para desarrolladores de iOS de Apple , específicamente, a la sección de antecedentes. Esto enumera las actividades que las aplicaciones ejecutan en voz alta en segundo plano, el acceso a la cámara no es una de ellas.

Esto también sería una condición terrible para la duración de la batería, por lo que no sorprende que no sea compatible. Si bien esto no garantiza que ninguna de sus aplicaciones intente acceder a su cámara, puede estar seguro de que si alguien lo intentara, Apple rechazaría su aplicación.

Esto también garantiza que no haya una API para el acceso a la cámara en segundo plano, por lo que, a menos que alguien haya descubierto una manera de piratear iOS sin jailbreak a un nivel muy bajo, todos podemos dormir seguros con solo la atenta mirada de Siri sobre nosotros.

Editar: según mi discusión con timothymh a continuación, me di cuenta de que puede haber estado preguntando si todavía está usando una aplicación determinada, tomando una foto sin cambiar a una nueva aplicación. Con una lectura más interesante de la Guía para desarrolladores de Apple , encontramos que la API de la cámara no le entregará datos hasta que se tome una foto o se complete un video. Debido a que la cámara no es manejada por un daemon, sería muy difícil sondear constantemente la cámara para obtener información, incluso si encuentra una forma de obtener datos sin la intervención del usuario más allá de la API. Tenga en cuenta que no soy un desarrollador de Apple, pero desde un punto de vista oficial, parece que lo que está diciendo no debería ser posible.

Sin embargo, eso se refiere a cuando la aplicación está en segundo plano, y el OP se refiere a cuando está en primer plano, sin que quede claro que se está accediendo a la cámara.
Ese es un punto justo que aparentemente pasé por alto. Supuse que OP significaba 'fondo' cuando se mencionaba el desplazamiento por los contactos, aunque supongo que podría estar desplazándose por sus contactos en messenger
Más de la Guía para desarrolladores de Apple (aunque un poco anticuada), parece que la API de la cámara solo le dará datos una vez que libere la instancia de la cámara, lo que significa que sería extremadamente difícil instanciar una cámara y mucho menos obtener datos de ella sin mostrarla al usuario No me imagino que Apple permitiría que esto sucediera, pero tampoco me imagino a mis padres haciendo el amor y eso aparentemente sucedió.
¡Eso es lo suficientemente bueno para mí! :) Agrégalo a tu respuesta; veamos si es suficiente información para Joseph.

Creo que la respuesta es sí, puede. Pero es poco probable que suceda. Para tomar una imagen, puede usar la clase UIImagePickerController , que hereda de UINavigationController y UIViewController. Además de esa vista, puede colocar otra vista accediendo a la propiedad cameraOverlayView.

Pero hay otra opción, AVFoundation , que no requiere ninguna salida. Y no hay comentarios para el usuario si el desarrollador no quiere.