Können Apps auf meine Kamera zugreifen, ohne es mir mitzuteilen?

Angenommen, ich gebe einer App die Erlaubnis, auf meine Kamera (und/oder mein Mikrofon) zuzugreifen, um ein Bild aufzunehmen. Kann die App auf meine Kamera zugreifen, nachdem ich das Bild aufgenommen habe, ohne mich zu fragen?

Ich dachte daran, als ich die Facebook-Messenger-App benutzte. Mit der App können Sie Bilder aufnehmen und direkt in Ihre Facebook-Nachrichten senden. Kann die App auch durch meine Kamera "schauen", während ich durch Kontakte scrolle (oder irgendetwas anderes mache, was nichts mit Fotos zu tun hat)?

Entschuldigung, falls dies bereits beantwortet wurde.

Antworten (2)

Diese Frage zu StackExchange führte mich zum iOS-Entwicklerhandbuch von Apple , insbesondere zum Hintergrundabschnitt. Diese listet die Aktivitäten auf, die Apps lauter im Hintergrund ausführen dürfen, der Kamerazugriff gehört nicht dazu.

Dies wäre auch eine schreckliche Bedingung für die Akkulaufzeit und daher ist es nicht verwunderlich, dass dies nicht unterstützt wird. Dies garantiert zwar nicht, dass keine Ihrer Apps versucht, Zugriff auf Ihre Kamera zu erhalten, aber Sie können sicher sein, dass Apple seine App ablehnen würde, wenn es jemand versuchen würde.

Dies stellt auch sicher, dass es keine API für den Zugriff auf die Kamera im Hintergrund gibt. Wenn also nicht jemand einen Weg gefunden hat, iOS ohne Jailbreak auf einer sehr niedrigen Ebene zu hacken, können wir alle sicher schlafen, nur mit dem wachsamen Auge von Siri auf uns.

Bearbeiten: Bei meiner Diskussion mit Timothymh unten wurde mir klar, dass Sie möglicherweise gefragt haben, ob Sie immer noch eine bestimmte App verwenden, nachdem Sie ein Foto gemacht haben, ohne zu einer neuen App zu wechseln. Bei interessanterer Lektüre aus Apples Entwicklerhandbuch stellen wir fest, dass die Kamera-API Ihnen keine Daten aushändigt, bis ein Bild aufgenommen oder ein Video fertiggestellt wurde. Da die Kamera nicht von einem Daemon verwaltet wird, wäre es sehr schwierig, die Kamera ständig nach Eingaben abzufragen, selbst wenn Sie einen Weg über die API hinaus finden würden, um Daten ohne Benutzereingabe zu erhalten. Hinweis: Ich bin kein Apple-Entwickler, aber aus offizieller Sicht scheint das, worüber Sie sprechen, nicht möglich zu sein.

Dies bezieht sich jedoch darauf, wenn sich die App im Hintergrund befindet, und das OP bezieht sich darauf, wenn es sich im Vordergrund befindet, nur ohne dass klar ist, dass auf die Kamera zugegriffen wird.
Das ist ein fairer Punkt, den ich anscheinend übersehen habe. Ich nahm an, dass das OP "Hintergrund" bedeutete, als das Scrollen durch Kontakte erwähnt wurde, obwohl ich annehme, dass Sie im Messenger durch Ihre Kontakte scrollen könnten
Mehr aus Apples Entwicklerhandbuch (wenn auch etwas veraltet), es scheint, dass die Kamera-API Ihnen nur Daten gibt, wenn Sie die Kamerainstanz freigeben, was bedeutet, dass es äußerst schwierig wäre, eine Kamera zu instanziieren, geschweige denn Daten von ihr zu erhalten, ohne sie anzuzeigen an den Benutzer. Ich kann mir nicht vorstellen, dass Apple das zulassen würde, aber andererseits kann ich mir nicht vorstellen, dass meine Eltern Liebe machen, und das ist anscheinend passiert.
Das ist gut genug für mich! :) Fügen Sie es Ihrer Antwort hinzu; Mal sehen, ob es genug Informationen für Joseph ist.

Ich denke, die Antwort ist ja, es kann. Aber es ist unwahrscheinlich, dass es dazu kommt. Um ein Bild aufzunehmen, können Sie die Klasse UIImagePickerController verwenden , die von UINavigationController und UIViewController erbt. Über dieser Ansicht können Sie eine weitere Ansicht platzieren, indem Sie auf die Eigenschaft cameraOverlayView zugreifen.

Aber es gibt eine andere Option, die AVFoundation , die überhaupt keine Ausgabe erfordert. Und es gibt kein Feedback für den Nutzer, wenn der Entwickler das nicht möchte.