iOS Simulator would like to access microphone every time

IosXcodeIos SimulatorMacos Mojave

Ios Problem Overview


Since the update to macOS Mojave, I get this alert every time I run on the simulator:
>"<AppName>" would like to access the microphone.

It is stopping the simulator from running! How can I stop it?

Mojave security alert!

Ios Solutions


Solution 1 - Ios

What worked for me was to change the Hardware Audio Input to Internal Microphone. What I believe happen is that when you give access it changes the audio input to your headphones or macbook. My concern was that I am watching a tutorial and it keeps changing the audio frequency and it kept bothering me.

Internal Microphone

Solution 2 - Ios

My app does not use microphone, it only plays videos. I was able to fix the alert popup by restricting Microphone access for Xcode in Security & Privacy -> Microphone

Solution 3 - Ios

This has been resolved in Xcode 10.2 Beta. Installing the beta should also fix it for older Xcode versions since CoreSimulator.framework will be upgraded (and remains backwards-compatible with older Xcodes).

The new behavior prompts for Microphone access once on your Mac. That approval (or denial) covers all processes in all Simulator runtimes including new runtimes downloaded and new Xcodes installed after the initial approval prompt.

The normal TCC rules continue to apply inside Simulator. Your app must have the relevant Info.plist keys with a microphone usage description if you actually attempt to record audio. This will continue to generate an iOS TCC prompt inside that specific Simulator. If your app only plays audio then no TCC prompts will be generated by iOS.

Solution 4 - Ios

What fixed this for me was to Not Allow the microphone access for xcode. After selecting this option the popup no longer appeared after further restarts.

Unfortunately the previous fixes did not work as Xcode was not available in:

System Preferences -> Security & Privacy -> Privacy -> Microphone (No Xcode listed here)

Solution 5 - Ios

  1. Go to "Security & Privacy" Settings on macOS

  2. Select "Microphone" on the left panel

  3. On the right panel disable the option for Xcode

Solution 6 - Ios

There seems to be two issues here: microphone access for both Xcode and the app itself.

Your app (or a UITest) can prompt (fail) for either or both, though not always on same run.

Both of these dialogs must be approved to allow access, after which the permission persists between Xcode and Simulator resets or restarts.

You can confirm access has been approved for Xcode in System Preferences -> Security & Privacy-> Microphone, where you should see the Xcode in the UI.

The app itself, approved or not, won't appear in the UI here, however.

If you are unsure it the app has been approved, reset all the microphone permissions with 'tccutil reset Microphone' in the Terminal, and re-run your app/test, until both dialogs have been shown and approved.

Solution 7 - Ios

Try starting the app on the simulator not from Xcode, but from the app's icon. The dialogue will appear one more time. Answer it and it won't appear again.

Solution 8 - Ios

In Simulator Go to Settings -> General -> Reset -> Reset Location & Privacy and then press "Reset Warnings" when asked.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionUdi LevyView Question on Stackoverflow
Solution 1 - IosRoger PerezView Answer on Stackoverflow
Solution 2 - IosmedvedNickView Answer on Stackoverflow
Solution 3 - IosrussbishopView Answer on Stackoverflow
Solution 4 - IosPeter SuwaraView Answer on Stackoverflow
Solution 5 - IosShantanu MadaneView Answer on Stackoverflow
Solution 6 - IoscreednmdView Answer on Stackoverflow
Solution 7 - Iosandriy_fedinView Answer on Stackoverflow
Solution 8 - IosManiView Answer on Stackoverflow