Since the update to macOS Mojave, I get this alert every time I run on the simulator:
\"
\" would like to access the microphone.
Go to "Security & Privacy" Settings on macOS
Select "Microphone" on the left panel
On the right panel disable the option for Xcode
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.
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)
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
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.
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.