web-dev-qa-db-fra.com

le simulateur iOS souhaite accéder au microphone à chaque fois

Depuis la mise à jour de macOS Mojave, je reçois cette alerte chaque fois que je lance le simulateur: 

"<AppName>" aimerait accéder au microphone.

Cela empêche le simulateur de fonctionner! Comment puis-je l’arrêter? 

 Mojave security alert!

31
Udi Levy

Mon application n'utilise pas de microphone, elle ne lit que les vidéos. J'ai pu corriger le message d'alerte en limitant l'accès au microphone pour Xcode dans Sécurité et confidentialité -> Microphone

9
medvedNick

Ce qui a bien fonctionné pour moi, c’est de changer l’entrée audio matérielle en Microphone interne . Ce qui me semble arriver, c’est que, lorsque vous autorisez l’accès, cela change l’entrée audio de votre casque ou de votre macbook. Mon problème était que je visionnais un tutoriel qui changeait continuellement la fréquence audio et me dérangeait.

 Internal Microphone

6
Roger Perez

Ce problème a été résolu dans Xcode 10.2 Beta. L'installation de la version bêta devrait également résoudre le problème pour les anciennes versions de Xcode puisque CoreSimulator.framework sera mis à niveau (et restera rétro-compatible avec les anciens Xcodes).

Le nouveau comportement invite à accéder au microphone une fois sur votre Mac. Cette approbation (ou refus) couvre tous les processus de toutes les exécutions de Simulator, y compris les nouvelles exécutions téléchargées et les nouveaux Xcodes installés après l'invite d'approbation initiale.

Les règles normales du TCC continuent de s'appliquer à l'intérieur du simulateur. Si vous essayez d’enregistrer du son, votre application doit disposer des touches Info.plist appropriées et d’une description de l’utilisation du microphone. Cela continuera à générer une invite TCC iOS dans ce simulateur spécifique. Si votre application ne lit que l'audio, aucune invite TCC ne sera générée par iOS.

3
russbishop

Il semble y avoir deux problèmes ici: l’accès au microphone pour Xcode et l’application elle-même.

Votre application (ou un UITest) peut demander (échouer) pour l'un ou l'autre, mais pas toujours pour la même exécution.

Ces deux boîtes de dialogue doivent être approuvées pour permettre l'accès, après quoi l'autorisation persiste entre la réinitialisation ou le redémarrage de Xcode et de Simulator.

Vous pouvez confirmer que l'accès à Xcode a été approuvé dans Préférences Système -> Sécurité et confidentialité -> Microphone, où vous devriez voir le Xcode dans l'interface utilisateur.

L'application elle-même, approuvée ou non, n'apparaîtra pas ici dans l'interface utilisateur.

Si vous n'êtes pas sûr que l'application a été approuvée, réinitialisez toutes les autorisations de microphone avec l'option 'tccutil reset Microphone' dans le terminal, puis réexécutez votre application/test jusqu'à ce que les deux boîtes de dialogue soient affichées et approuvées.

1
creednmd
  1. Allez dans "Sécurité et confidentialité" Paramètres sur macOS

  2. Sélectionnez "Microphone" sur le panneau de gauche

  3. Sur le panneau de droite, désactivez l'option pour Xcode.

1
Shantanu Madane

Essayez de démarrer l'application sur le simulateur, pas à partir de Xcode, mais à partir de l'icône de l'application. Le dialogue apparaîtra une fois de plus. Répondez-le et il n'apparaîtra plus.

1
andriy_fedin

Ce qui a résolu ce problème pour moi a été de pas autoriser l’accès au microphone pour xcode. Après avoir sélectionné cette option, la fenêtre n’apparaît plus après d’autres redémarrages.

Malheureusement, les correctifs précédents ne fonctionnaient pas car Xcode n'était pas disponible dans:

Préférences système -> Sécurité et confidentialité -> Confidentialité -> Microphone (aucun code Xcode répertorié ici)

0
Peter Suwara