Reset permissions for iOS apps installed on Apple Silicon Mac

UI flows can be built around requesting permissions for, for example, camera or microphone access in iOS apps. With Xcode 14, it's super easy to run an app on an Apple Silicon Mac with the device "My Mac (Designed for iPhone)". However, how do you reset camera permissions to new install state for an iOS app installed and run that way on Mac?

Naturally, removing the app from the Products folder does not remove its row in Settings -> Security and Privacy -> Camera on MacOS and disabling camera access via that row sets AVCaptureDevice.authorizationStatus to denied and not notDetermined even with a fresh install.

The standard way to do this on the Mac is using tccutil. I haven’t tried it for this specific case but I suspect it’ll work here too.

For more details, see the tccutil man page.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Did anyone find a solution for this? I'm running into a problem where my iOS app built as "My Mac (Designed for iPad)" is repeatedly denied microphone access when running it on an Apple Silicon Mac. I have NSMicrophoneUsageDescription set in my plist, and when running the app on an iOS device I get the expected prompt to grant permission to use the microphone on fresh installations. When running it on the Mac I never get the permission prompt, the app doesn't appear under System Settings -> Privacy & Security -> Microphone", and [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio] always returns AVAuthorizationStatusNotDetermined (granted=NO) on the first call and then AVAuthorizationStatusDenied on subsequent calls. tccutil always fails to reset the container when I run it.

Reset permissions for iOS apps installed on Apple Silicon Mac
 
 
Q