iPad запоминает разрешения камеры после удаления - как очистить?
Я пытаюсь воссоздать условие, когда следующий код возвращает AVAuthorizationStatusNotDetermined
:
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
Однако iPad, похоже, запоминает права доступа к камере даже после удаления и переустановки приложения, поэтому каждый раз возвращается либо Authorized, либо NotAuthorized. Любая идея, как сбросить разрешения, чтобы NotDetermined вернулся?
Спасибо за прочтение.
4 ответа
Вы не можете сбросить разрешение программно. Если вы хотите сбросить разрешение, есть два способа:
- Сброс ОС
- Удалите приложение и подождите день
Я знаю, что оба эти варианта действительно бесполезны для разработчика, если они пытаются что-то проверить.
Существует три варианта тестирования первого запуска вашего приложения без перезагрузки всей ОС или ожидания в течение дня.
Первый вариант
Как описано в Технической ноте TN2265:
Вы можете достичь последнего, фактически не ожидая дня, выполнив следующие действия:
- Удалите приложение с устройства.
- Полностью выключите устройство и включите его снова.
- Выберите "Настройки"> "Основные"> "Дата и время" и установите дату на день вперед или более.
- Снова полностью выключите устройство и включите его снова.
Второй вариант
Когда вы удаляете приложение, iOS сохраняет разрешение вашего приложения, сопоставленное с идентификатором пакета вашего приложения, оно сохраняет данные за день. Таким образом, вы также можете изменить идентификатор пакета своего приложения, чтобы проверить его.
Третий вариант
В соответствии с предложением @rmaddy в комментарии вы можете сбросить все права доступа к местоположению и конфиденциальности: Настройки -> Общие -> Сброс -> Сбросить местоположение и конфиденциальность. Обратите внимание, что при этом будут сброшены все разрешения на размещение и конфиденциальность для всех приложений на этом устройстве.
В iOS 14 перейдите в Настройки-> Конфиденциальность-> Службы геолокации, выберите приложение и для разрешения доступа к местоположению выберите "Спросить в следующий раз".
Это больше не проблема, если вы обновите версию ОС на своем устройстве до последней. Он не работал на 13.3.1, но он очистил разрешения после 13.4.1
Что сработало для меня:
Windows -> Устройства и симуляторы -> раздел Установленные приложения
Удалите приложение оттуда с помощью кнопки -.