it-swarm.com.ru

iOS Simulator хотел бы получить доступ к микрофону каждый раз

После обновления MacOS Mojave, я получаю это предупреждение каждый раз, когда я запускаю на симуляторе: 

<AppName> хотел бы получить доступ к микрофону.

Он останавливает работу симулятора! Как я могу остановить его? 

 Mojave security alert!

31
Udi Levy

Мое приложение не использует микрофон, оно только воспроизводит видео. Мне удалось исправить всплывающее окно предупреждения, ограничив доступ к микрофону для XCode в безопасности и конфиденциальности -> Микрофон

9
medvedNick

Для меня сработало изменение аппаратного аудиовхода на Internal Microphone . Я считаю, что когда вы предоставляете доступ, он изменяет аудиовход на ваши наушники или MacBook. Меня беспокоило то, что я смотрю учебник, и он продолжает изменять частоту звука, и это продолжало беспокоить меня.

 Internal Microphone

6
Roger Perez

Это было решено в Xcode 10.2 Beta. Установка бета-версии также должна исправить ее для более старых версий Xcode, поскольку CoreSimulator.framework будет обновлен (и останется обратно совместимым со старыми X-кодами).

Новое поведение запрашивает доступ к микрофону один раз на вашем Mac. Это утверждение (или отказ) распространяется на все процессы во всех средах выполнения Simulator, включая новые загруженные среды выполнения и новые коды X, установленные после запроса на первоначальное утверждение.

Обычные правила TCC продолжают применяться внутри Симулятора. Ваше приложение должно иметь соответствующие ключи Info.plist с описанием использования микрофона, если вы действительно пытаетесь записать звук. Это будет продолжать генерировать iOS TCC Prompt внутри этого конкретного симулятора. Если ваше приложение воспроизводит только аудио, iOS не будет генерировать никаких запросов TCC.

3
russbishop

Кажется, здесь есть две проблемы: доступ к микрофону как для Xcode, так и для самого приложения.

Ваше приложение (или UITest) может запрашивать (сбой) для одного или обоих, но не всегда при одном запуске.

Оба эти диалоговых окна должны быть одобрены, чтобы разрешить доступ, после чего разрешение сохраняется между XCode и Simulator сбрасывает или перезапускает.

Вы можете подтвердить, что доступ был одобрен для XCode в Системных настройках -> Безопасность и конфиденциальность -> Микрофон, где вы должны увидеть XCode в пользовательском интерфейсе.

Однако само приложение, одобренное или нет, не будет отображаться в пользовательском интерфейсе.

Если вы не уверены, что приложение было одобрено, сбросьте все разрешения для микрофона с помощью «tccutil reset Microphone» в Терминале и перезапустите ваше приложение/тест, пока оба диалога не будут показаны и одобрены.

1
creednmd
  1. Зайдите в настройки «Безопасность и конфиденциальность» в macOS

  2. Выберите «Микрофон» на левой панели

  3. На правой панели отключите опцию для Xcode

1
Shantanu Madane

Попробуйте запустить приложение на симуляторе не из Xcode, а из значка приложения. Диалог появится еще раз. Ответь, и он больше не появится.

1
andriy_fedin

То, что исправило это для меня, было не разрешено доступ к микрофону для xcode. После выбора этой опции всплывающее окно больше не появляется после перезапуска.

К сожалению, предыдущие исправления не работали, так как Xcode не был доступен в:

Системные настройки -> Безопасность и конфиденциальность -> Конфиденциальность -> Микрофон (здесь нет кода Xcode)

0
Peter Suwara