2012-05-29 19 views
5

Necesito detectar cada vez que otra aplicación esté usando la cámara del iPhone/iPad mientras mi aplicación se está ejecutando. Mi aplicación sigue ejecutándose en segundo plano (audio), pero no usa la cámara en sí. Solo necesito averiguar si otra aplicación está usando alguna cámara.Detectando el uso activo de la cámara

Además, quiero usar la menor cantidad de recursos de CPU posible para minimizar el uso de la batería.

he intentado sin éxito:

  • correr un simple AVCaptureSession a la declaración de capturas de interrupción (nunca se notificó a)
  • llamada lockForConfiguration sobre todo AVCaptureDevice s
  • monitorizar periódicamente la propiedad enabled de AVCaptureInputPort (siempre es SÍ)
  • supervisa periódicamente la propiedad connected de AVCaptureDevice (siempre está s SI)

Como aclaración:

  • No necesito una manera de detectar la existencia de la cámara (s)
  • No necesito una manera de averiguar si la cámara está activo en mi aplicación

Gracias por cualquier apuntadores.

EDITAR: esta es una característica de seguridad: quiero advertir al usuario si hay una pequeña posibilidad de que una aplicación maliciosa (en primer plano) tome una foto o video del usuario o los alrededores mientras mi aplicación está activa (fondo) utilizar.

Respuesta

3

La documentación de iOS no dice nada sobre la forma en que su aplicación puede ser notificada cuando otra aplicación ejecuta la cámara. Eso tampoco suena como algo que Apple permitiría. Además, no sería bueno saber si otra aplicación está ejecutando la cámara porque: a) su aplicación no puede usarla si no está activa, yb) su aplicación no puede afectar el funcionamiento de otra aplicación de ninguna manera. Intenta pensar en una alternativa a lo que estás tratando de lograr, porque desafortunadamente, de esta manera es imposible.

+0

muchas gracias. Tenga en cuenta que recibe tales notificaciones para el dispositivo de audio iOS. Y no necesariamente necesito una notificación, está bien para mí sondear cada X segundos. Entonces un método "isCameraActive" sería suficiente. Y créanme, meramente sabiendo/haré/haré algo bueno con mi aplicación. – Florian

+0

Incluso con las encuestas, no creo que sea posible. ¿Puedes explicar por qué necesitas saber si la cámara está activa? Tal vez hay una solución. – woz

+0

He agregado algo de información sobre mi motivación para esta función – Florian

Cuestiones relacionadas