Могут ли приложения получить доступ к моей камере, не сказав мне?

5

Предположим, я даю приложению разрешение на доступ к моей камере (и / или микрофону), чтобы сделать снимок. После того, как я сделаю снимок, может ли приложение получить доступ к моей камере, не спрашивая меня?

Я думал об этом во время использования приложения Facebook Messenger. Приложение позволяет делать снимки и отправлять их прямо в ваши сообщения Facebook. Может ли приложение «смотреть» через мою камеру, когда я прокручиваю контакты (или делаю что-то еще, не связанное с фотографиями)?

Извиняюсь, если на это уже был дан ответ.

sudo rm -rf slash
источник

Ответы:

5

Этот вопрос, касающийся StackExchange, привел меня к Руководству Apple для разработчиков iOS , в частности, к разделу, посвященному истории . Здесь перечислены действия, которые приложения могут запускать в фоновом режиме, доступ к камере не входит в их число.

Это также было бы ужасным условием для времени автономной работы, поэтому неудивительно, что оно не поддерживается. Хотя это не гарантирует, что ни одно из ваших приложений не будет пытаться получить доступ к вашей камере, вы можете быть уверены, что если кто-то попытается, Apple отклонит их приложение.

Это также гарантирует отсутствие API для доступа к фоновой камере, поэтому, если кто-то не найдет способ взломать неработающую iOS на очень низком уровне, мы все сможем спокойно спать, лишь взглянув на нас Сири.

Редактировать: согласно моему обсуждению с Тимотимом ниже, я понял, что вы, возможно, спрашивали о том, используете ли вы данное приложение, сделав снимок, не переключаясь на новое приложение. С более интересным чтением из Руководства разработчика Apple , мы обнаружим, что API камеры не будет передавать вам данные, пока не будет сделан снимок или видео. Поскольку камера не обрабатывается демоном, было бы очень трудно постоянно опрашивать камеру на предмет ввода, даже если вы нашли способ пройти через API, чтобы получать данные без ввода данных пользователем. Заметьте, я не разработчик Apple, но с официальной точки зрения кажется, что то, о чем вы говорите, не должно быть возможным.

agentroadkill
источник
Тем не менее, это относится к тому, когда приложение находится в фоновом режиме, а OP относится к тому, когда оно находится на переднем плане, просто без ясности, что доступ к камере осуществляется.
Тимоти Мюллер-Хардер
Это справедливо, я, видимо, упустил из виду. Я предположил, что OP означал «фон», когда упоминалась прокрутка контактов, хотя я полагаю, что вы могли бы прокручивать свои контакты в messenger
agentroadkill
3
Более подробно из Руководства разработчика Apple (хотя и немного устаревшего) кажется, что API-интерфейс камеры будет выдавать вам данные только после того, как вы отпустите экземпляр камеры, а это значит, что было бы чрезвычайно трудно создать экземпляр камеры, не говоря уже о том, чтобы получать данные из нее, не показывая ее. пользователю. Я не думаю, что Apple позволит этому случиться, но опять же я не представляю, как мои родители занимались любовью, и это, очевидно, произошло.
agentroadkill
1
Это достаточно хорошо для меня! :) Добавьте это к своему ответу; давайте посмотрим, достаточно ли информации для Джозефа.
Тимоти Мюллер-Хардер
2

Я думаю, что ответ - да, это возможно. Но это вряд ли произойдет. Для получения изображения вы можете использовать класс UIImagePickerController , который наследуется от UINavigationController и UIViewController. Поверх этого представления вы можете поместить другое представление, открыв свойство cameraOverlayView.

Но есть и другой вариант, AVFoundation , который вообще не требует вывода. И нет обратной связи для пользователя, если разработчик не хочет.

TUTTE
источник