Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Completely reset TCC services database in macOS
#!/usr/bin/python
"""
Completely reset TCC services database in macOS
Note: Both the system and individual users have TCC databases; run the script as both
a user and as root to completely reset TCC decisions at all levels.
2018-08-15: Resetting the 'Location' service fails; unknown cause
2018-08-16: Confirmed the 'All' service does not really reset _all_
services, so individual calls to each service is necessary.
2019-06-04: Still working in 10.15 beta :)
2019-08-16: Added new Catalina services (thanks @frogor)
"""
import subprocess
SERVICES = [
"Accessibility",
"AddressBook",
"All",
"AppleEvents",
"Calendar",
"Camera",
"ContactsFull",
"ContactsLimited",
"Facebook",
"FileProviderDomain",
"FileProviderPresence",
"LinkedIn",
"Liverpool",
"Location",
"MediaLibrary",
"Microphone",
"Motion",
"Photos",
"PhotosAdd",
"PostEvent",
"Reminders",
"ScreenCapture",
"ShareKit",
"SinaWeibo",
"Siri",
"SpeechRecognition",
"SystemPolicyAllFiles",
"SystemPolicyDesktopFolder",
"SystemPolicyDeveloperFiles",
"SystemPolicyDocumentsFolder",
"SystemPolicyNetworkVolumes",
"SystemPolicyRemovableVolumes",
"SystemPolicySysAdminFiles",
"SysyemPolicyDownloadsFolder",
"TencentWeibo",
"Twitter",
"Ubiquity",
"Willow",
]
if __name__ == "__main__":
for service in SERVICES:
cmd = ["/usr/bin/tccutil", "reset", service]
try:
subprocess.check_call(
cmd, stderr=subprocess.PIPE
)
print "Reset", service
except subprocess.CalledProcessError:
print "Unable to reset", service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.