Udi Levy
Udi Levy

Reputation: 611

iOS Simulator would like to access microphone every time

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!

Upvotes: 51

Views: 14938

Answers (8)

andriy_fedin
andriy_fedin

Reputation: 183

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.

Upvotes: 0

Roger Perez
Roger Perez

Reputation: 3139

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

Upvotes: 26

russbishop
russbishop

Reputation: 17239

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.

Upvotes: 6

Peter Suwara
Peter Suwara

Reputation: 826

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)

Upvotes: 2

creednmd
creednmd

Reputation: 2001

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.

Upvotes: 1

Shantanu Madane
Shantanu Madane

Reputation: 615

  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

Upvotes: 1

medvedNick
medvedNick

Reputation: 4510

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

Upvotes: 11

Mani
Mani

Reputation: 101

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

Upvotes: -2

Related Questions