Repeated request for microphone permission on iOS Simulator - xcode

I'm working with Xcode 10.1 (10B61) on an app that needs permission to use the microphone.
(Almost) Every time I start the app from Xcode (in simulator) I get a system popup:
"Appname" would like to access the microphone
"Privacy - Microphone Usage Description"">
It doesn't matter if I select "Don't Allow" or "OK". This message keeps popping up.
How can I fix it?
Update [fixed]
This issue seems to be fixed in Xcode 10.2 👍

You can get rid of this following this steps:
Go to "Security & Privacy" Settings on macOS.
Select "Microphone" on the left panel.
Uncheck the Xcode option on the right panel.

Edit:
Unfortunately it looks like the following procedure is just a temporary fix. After some time the dialog started appearing again. Repeating the procedure fixes it for an additional period of time.
I had the same problem and what helped in my case was disabling and then re-enabling microphone permissions in the the Simulator.
Steps to fix:
go to Settings app in the Simulator
find your app settings page within the Settings app
disable microphone permission (or any other permission that is causing trouble)
re-enable microphone permissions
After this procedure, the microphone permissions dialog stopped appearing every time I would run the app.
Note that I did run the app with the permissions disabled and navigated to the point where permissions are required before re-enabling them (but I don't think that's required).
Hope this helps, it did in my case.

After looking for a workaround this one seems to fix it for me:
In Simulator go to Settings > Your App > Disable the Microphone Access
Update:
Not solving this issue but might be helpful:
You can dismiss the popup via Esc key - that should be way faster than clicking a button

Another work around is to check if the app is running in the simulator and disable the audio code:
struct Platform {
static var isSimulator: Bool {
return TARGET_OS_SIMULATOR != 0
}
}

Related

Trouble pairing Apple TV with Xcode

When trying to pair Xcode with my Apple TV it says
This device has been ignored in the devices panel.
I cannot continue development properly until this issue has been solved, however I cannot find an un-ignore button. Please help me, thank you!
Running the terminal command as described in other answers didn't work for me and the device kept being ignored whenever I re-opened Xcode.
My solution was to open Apple Configurator and go to Paired Devices on the About menu. From the window that appears hit the X to remove all the devices (I had the same device listed 6 times).
Then close Apple Configurator, launch Xcode and the Apple TV paired.
My setup was Xcode 13.4.1 / Apple 4K 2nd Gen / tvOS 15.5.1 / Apple Configuration 2.15.1
2022
While Window > Devices and Simulators is open on the Xcode, go to the upper menu with the back button on your remote and re-enter the Remote App and Devices menu to try to go back again. Try a few times. It'll show your device on the Xcode's Device window. Then click the "Pair" for the device. You’ll see a screen asking you to enter the six-digit code displayed on your Apple TV; enter the code to the Xcode's Device window. And wait for it. For a while device and Xcode will work for Preparing debugger support for your device. Keep your Mac device and Apple TV close until it's done.
Hope this will help someone.
Best.
I think I found the solution. I did a number of things so here are all of them, but the most important one is step 5:
Go to main menu in Apple TV
Quit Xcode
Go to the command line and type
defaults read com.apple.dt.Xcode.plist DVTIgnoredDevices
You should be able to see the AppleTV in question listed there.
NOTE: This will clear all of your ignored devices
. Still in the command line, type
defaults delete com.apple.dt.Xcode.plist DVTIgnoredDevices
Go to the Devices and Simulators window
On command line, type
defaults read com.apple.dt.Xcode.plist DVTIgnoredDevices
You should see something like "does not exist"
You should be able to pair the AppleTV now
2022
After testing some solutions and having no luck, try the next:
Restart the router
It's working now.
Try it.
I had exactly the same issue:
My solution was:
Remove everything from the ATV
perform the delete command from above
Reboot everything!
Try the pairing again
This did it for me.
For some reason, don't ask me why
Make sure you've enabled the "Show as run destination" option.
i tried all the solutions mentioned here - non helped, eventually i:
selected "Forget Device" from the apple tv
restarted the apple tv
closed the XCode
restarted mac
paired again and that worked
sometimes when you press |Pair| button in the Devices & Simulators window, after you key in the numbers, the screen will go back to "Pair" mode,
in order to bypass this issue, after pairing i restart the xcode (without unpairing or forget the device), and the device shows up as connected
I was having the same issue and none of the solutions above worked. Then I noticed that universal clipboard between my iPhone and Mac was also not working.
The solution for that was to toggle Bluetooth and Wi-Fi on/off on both Mac and iPhone (I have a feeling that it was more the toggle on Mac that helped).
Anyway, by fixing that issue, my AppleTV showed up paired and ready to use in Xcode (din't even have to re-pair).

Simulator in use and even restarting XCode doesn't solve it

I sometimes get a dialog in Xcode which states "Simulator in use." Restarting Xcode didn't help.
I have no Simulator Icon in the Taskbar to quit it and I have no running Simulator.
Is there any solution without rebooting?
I know some of these points to not adress your specific issue since you wrote restarting Xcode would not help you but I'll try to provide a full list of possible fixes for people who might stumble upon this one day.
Is the "Stop" Button in the left corner of Xcode still clickable ? ==> Click It
Try to reset contents & settings of iOS Simulator
Clean Build & Clean Project
Quit iOS Simulator (look at the Activity Monitor if there is still something running)
Restart Xcode
Restart Mac
This is all I can think of. For me most of the times I can resolve it by just restarting Xcode. As you wrote this does not work for you so maybe some of the other points of my list will help you.
Normally this happens when you terminate the iOS Simulator but not the debug session itself, which is why most of the times the "Stop" button in the left corner is clickable most of the times...
This dialog (and the state that triggers it) comes entirely from Xcode and not the simulator itself. This dialog will present itself if Xcode is already using the simulator from another workspace. For example, if you have three projects open at the same time and you do a Build&Run (eg: click "play") in one of them, you will get this dialog if you do a Build&Run in one of the other projects.

Cannot find executable for CFBundle CertUIFramework.axbundle

Just updated to Xcode 5 and this is the first error its throwing on the logger for all my apps. Can't seem to understand why this is happening.
2013-09-19 10:46:54.341 MyApp[1156:a0b] Cannot find executable
for CFBundle 0x8a7c7a0 </Applications/Xcode.app/Contents/Developer/Platforms/
iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/
System/Library/AccessibilityBundles/CertUIFramework.axbundle> (not loaded)
Edit (11-11-2013): To everyone reading, once I waiting for a solid working solution to accept and close. The highest voted answer works until you re-open the project only.
Edit (30-09-2014): I can see this has been sorted since XCode 6 has been released! Finally
Final Edit-
Temporary workaround: click iOS Simulator > Reset Content and
Settings... and run again.
This error message may reappear at random. For me, it happens when I
launch a different application. There are several threads in Apple dev
forums and in StackOverflow about this problem, but none have a
definitive answer. This seems to be a SDK error to be fixed in the
next Xcode version.
Updated: October 3.
CREDIT - Please check this answer - Xcode 5 Error CertUIFramework.axbundle
Further Edit
Although this was potentially the issue resolution at the time. I believe some of the newer answers below relating to the better touch tool are in fact the correct resolutions.
After reading Kirill's answer I did some digging as I didn't want to disable BetterTouchTool for everything just the "iOS Simulator" and you can.
Open the "iOS Simulator" and will it as the active app go to the BTT drop-down menu from the top bar (of that screen if you have more than one) and select "Disable BTT for Current App". It will turn to a play icon when it's disabled.
Make sure the app name on the bar is still "iOS Simulator" as mine jumped to "Finder" a few times when I clicked the top bar!
Now re-set the simulator (if it doesn't work) and rebuild. You shouldn't get the error! :)
Don't forget to clear the error if it's still there. ;)
BTT seems to remember what apps it's disabled for (or at least it does when you close and re-open the app that's disabled I haven't tried a system re-boot yet).
Its easy. Go iOS simulator and reset content and setting.
Thanks
If you are using XCode-5 then just reset the simulator "Reset Content and Settings" and run once again
So I was having this error too in Xcode 5 and 5.1. I wanted to figure out if it's Xcode bug or something else, so I did a fresh install of Mavericks 10.9.2 and Xcode 5.1. Everything seemed fine after multiple tests.
Here is where the problem began. I put the apps and settings that I mostly use and the error came back. So I deleted everything and started adding everything one by one. After couple days I had bingo! The problem is with BetterSnapTool and BetterTouchTool
Update 12.12.2014
Just started using Xcode 6.1 and noticed that this bug seems to be gone at least with Xcode 6.1 simulators and BTT 0.9985 versions.
Update:
As GasB pointed out, it is possible to disable BTT for certain apps. So just disable it for iOS Simulator. You just have to remember not to use gestures while using the simulator as that triggers the error message.
Simple solution:
Remove the ticks in preference pane, reset simulator and do clean build. The error message will disappear.
.
I had the same problem and solved it setting the 'Localization native development region' to match my systems region. In my case from 'en' to 'de'. The referenced files are stored in localized versions in your filesystem. So this setting is used to identify the needed version.
You can find that setting in your project settings at 'Info' -> 'Custom iOS Target Properties'.
Resetting the simulator ‘fixes’ it because it turns the accessibility support off. You can normally achieve the same by simply disabling the ‘Accessibility Inspector’ in the ‘Settings’ app.
If, however, you need it enabled, particularly hate this error message, and are feeling adventurous then you can use the following monkey patches to silence the error: https://gist.github.com/alloy/9277316. (Be sure to NOT include this in your release builds.)
Resetting the simulator is a PITA, I found a way to get rid of these messages without having to to this:
go to Settings > Accessibility
turn on Accessibility Inspector
turn off Accessibility Inspector
quit Simulator
I had this problem with Xcode 5 in ML 10.8.5
I re-installed Mountain Lion (in a Parallels' VM), then update ML to 10.8.5.
Then installrd Xcode 5, and it's worked fine.
I think that the error is caused by a third SW installed in ML.
The application Moom is also causing this issue, and I couldn't find a way to disable it for just the iOS Simulator. So for now I disabled it's accessibility features.
I'm on Mavericks (10.9.3) and encountered the same error in xCode(5.1.1).
I tried anything - reinstalling xCode from both AppStore and dmg. Resetting the emulator resulted in the same error and deleting the Simulator SDK folder gave no results too.
The issue on my end was indeed Moom as mentioned by #aorcsik! Disabling it's accessibility, followed by clean (cmd+shift+k) in xCode cleared the error.
Open Disk Utility and apply Repair Disk Permissions in Macintosh HD.
After doing above step, apply Reset Contents and Settings in iOS Simulator.
This above solution can definitely fix your problem.
I had this problem, and none of the answers in this thread could fix it. Mine was simple UI with a UIDatePicker. I resolved it by removing the UIDatePicker and the associated code, then added them in again. Problem solved!
For me it was Keyboard Maestro, adding the simulator to Maestro's exclude list silenced the warnings

XCode: Endless sign-in windows when trying to provision

I'm trying to provision a second device for testing in XCode and am having some trouble. I'm following along with this, and get as far as clicking the Refresh button in the Library's Provisioning Profiles section.
Then, the "Sign in with your Apple ID" window pops up and despite entering my Apple ID and clicking Log In, it just keeps popping up again. There are no warnings or anything, it just keeps popping up. I verified the Apple ID by logging into Apple's developer website and everything seems fine with the username/password. Any ideas?
Thanks for reading.
Joe's tip did the trick. I added the device from the website.

Why doesn't the Xcode Organizer Console show logs from my device?

When I plug my device in and run my app, the log output doesn't show up in the Organizer Console. Is there some other place to look for log output? I thought I could find it in Console.app but I'm having trouble.
It sounds like you're looking in xcode 'organiser' window, which is the correct place.
Are you running foul of this bug:
Why is XCode Organizer console sometimes empty when I connect my iPhone
Essentially you may need to completely quit and restart xcode after connecting the device and/or whenever it stops working.
I noticed in the Settings app, there is now a Developer entry which has a Logging On/Off switch. I'm not sure what it does exactly but you might want to try turning it on.

Resources