I have an application that is a VOIP application of sorts that needs access to the microphone. I am using the Mac (Designed for iPad) support to not have to do huge amounts of conditional building and support for all the many iOS specific things my app includes.
I never get prompted to allow microphone permissions and I never see my app name appear in Privacy & Security -> Microphone permissions setup.
So is it that Mac is just a dead end for any form of an application that needs a microphone and is running under Mac (Designed for iPad) compatibility mode?
Why doesn't TCC have some mechanism to notice and grant access to mic use?
AFAIK Mac Catalyst apps can access the microphone. However, you have to keep in mind that a Mac Catalyst app is pretty much a Mac app, so you have to follow the Mac rules:
- If you have the hardened runtime enabled, you need to sign your app with the
com.apple.security.device.audio-inputentitlement. - If you have the App Sandbox enabled, you need to sign your app with the
com.apple.security.device.microphoneentitlement. - You have to add
NSMicrophoneUsageDescriptionto yourInfo.plist[1].
Please try this out and let me know how you get along.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] There are some cases where the Info.plist properties use different keys on the Mac vs other platforms. I don’t think that’s the case here. It’s NSAlwaysAllowMicrophoneModeControl for everyone.