La configuración se almacena en /Library/Application Support/com.apple.TCC/TCC.db
:
$ sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db 'select * from access'
kTCCServiceAccessibility|com.apple.ScriptEditor2|0|1|0|��
kTCCServiceAccessibility|com.red-sweater.FastScripts|0|1|0|��
kTCCServiceAccessibility|com.apple.AccessibilityInspector|0|1|0|��
kTCCServiceAccessibility|com.slate.Slate|0|1|0|��
kTCCServiceAccessibility|com.apple.Automator|0|1|1|
kTCCServiceAccessibility|com.googlecode.iterm2|0|1|1|
El esquema, según lo indicado por sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db '.schema access'
, es:
CREATE TABLE access (service TEXT NOT NULL, client TEXT NOT NOT NULL, client_type INTEGER NOT NULL, allowed INTEGER NOT NULL, prompt_count INTEGER NOT NULL, csreq BLOB, CONSTRAINT key PRIMARY KEY (service, client, client_type));
En mi instalación, las últimas cuatro columnas (client_type
, allowed
, prompt_count
y csreq
) son 0|1|0|\xfa\xde\x0c
para aplicaciones que se añadieron después de que se mostrara el diálogo "ejemplo.app" desea controlar este equipo mediante funciones de accesibilidad
y 0|1|1|
para aplicaciones que añadí arrastrándolas a la lista en Preferencias del Sistema.
~/Library/Preferences/com.apple.universalaccessAuthWarning.plist
contiene una lista de aplicaciones para las cuales se ha mostrado el diálogo de advertencia:
$ defaults read com.apple.universalaccessAuthWarning
{
"/Applications/Automator.app" = 1;
"/Applications/Automator.app/Contents/MacOS/Automator" = 1;
"/Applications/FastScripts.app" = 1;
"/Applications/FastScripts.app/Contents/MacOS/FastScripts" = 1;
"/Applications/Slate.app" = 1;
"/Applications/Slate.app/Contents/MacOS/Slate" = 1;
"/Applications/Utilities/AppleScript Editor.app" = 1;
"/Applications/Utilities/AppleScript Editor.app/Contents/MacOS/AppleScript Editor" = 1;
"/Applications/Xcode.app/Contents/Applications/Accessibility Inspector.app" = 1;
"/Applications/Xcode.app/Contents/Applications/Accessibility Inspector.app/Contents/MacOS/Accessibility Inspector" = 1;
"/Applications/iTerm.app" = 1;
"/Applications/iTerm.app/Contents/MacOS/iTerm" = 1;
"/Users/lauri/Desktop/aa.app" = 1;
"/Users/lauri/Desktop/aa.app/Contents/MacOS/applet" = 1;
"com.apple.AccessibilityInspector" = 1;
"com.apple.Automator" = 1;
"com.apple.ScriptEditor.id.aa" = 1;
"com.apple.ScriptEditor2" = 1;
"com.red-sweater.FastScripts" = 1;
"com.slate.Slate" = 1;
}
A pesar de eso, no pude descubrir cómo permitir el acceso a dispositivos de asistencia para una aplicación. Intenté, por ejemplo, ejecutar estos comandos:
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db 'insert into access values ("kTCCServiceAccessibility","com.apple.ScriptEditor.id.qq",0,1,0,"'$'\xfa\xde\x0c''");'
defaults write com.apple.universalaccessAuthWarning com.apple.ScriptEditor.id.qq -bool true
defaults write com.apple.universalaccessAuthWarning /Users/lauri/Desktop/qq.app -bool true
defaults write com.apple.universalaccessAuthWarning /Users/lauri/Desktop/qq.app/Contents/MacOS/applet -bool true
sudo killall tccd
También intenté reiniciar para aplicar los cambios y establecer las últimas cuatro columnas como 0,1,1,""
.
0 votos
No estoy totalmente seguro de que esto es lo que ves, pero este artículo podría ayudar: support.apple.com/kb/HT5914
0 votos
Gracias por la respuesta. También me encontré con este artículo mientras buscaba una solución. No es lo que estoy buscando ya que esta solución todavía utiliza la interacción de la GUI.
0 votos
@KarolBerlinski ¿Cuál fue la solución alternativa que utilizaste? Todavía estoy tratando de averiguar cómo agregar una aplicación a los Dispositivos de Asistencia a través de la línea de comandos o un método que no sea GUI. Gracias Abraham