Utilizo una cuenta de usuario estándar para mis tareas diarias en Mac OS. Desde que actualicé a Snow Leopard, se me pide que haga lo siguiente cuando se ejecuta un programa desde Xcode:
"Escriba el nombre y la contraseña de un usuario en el grupo 'Herramientas para desarrolladores' para permitir que el acceso a las herramientas para desarrolladores pueda realizar cambios"
Aunque conozco el nombre de usuario / contraseña de administrador, esto es molesto (aunque solo se requiere una vez por inicio de sesión).
El acceso a las herramientas del desarrollador solicita derechos sobre "system.privilege.taskport.debug" desde la aplicación gdb-i386-apple-darwin.
¿Cuál es la mejor forma de evitar esto?
fuente
-u <name-of-account-with-root-access>
a las opciones. Así que mi mando completo fuedscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
Finalmente, pude deshacerme de él usando
DevToolsSecurity -enable
Terminal. ¡Gracias a @joar_at_work !FYI : Estoy en Xcode 4.3 y presioné el botón de desactivación cuando se lanzó por primera vez, no preguntes por qué, solo asume que mi perro me obligó a hacerlo :)
fuente
-enable
con-disable
y funciona como se esperaba!dscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
fuente
Debe agregarse al grupo Herramientas para desarrolladores. La sintaxis general para agregar un usuario a un grupo en OS X es la siguiente:
Creo que el nombre del grupo DevTools es
_developer
.fuente
La solución de Ned Deily funciona perfectamente bien, siempre que su usuario esté autorizado
sudo
.Si no es así, puede
su
abrir una cuenta de administrador y luego usar la suyadscl . append /Groups/_developer GroupMembership $user
, donde $ user es el nombre de usuario.Sin embargo, pensé erróneamente que no porque escribí incorrectamente el nombre del usuario en el comando y falla silenciosamente.
Por lo tanto, después de ingresar este comando, debe verificarlo. Esto comprobará si $ user está en $ group, donde las variables representan respectivamente el nombre de usuario y el nombre del grupo.
Este comando imprimirá el mensaje
user is not a member of the group
ouser is a member of the group
.fuente
dscl . append /Groups/_developer GroupMembership username
ydsmemberutil checkmembership -U "username goes here" -G "group goes here"
Respuesta sugerida por @Stacy Simpson:
Estamos luchando con el problema descrito en estos hilos y ninguna de las resoluciones parece funcionar:
Como soy nuevo en SO, no puedo publicar en ninguno de los hilos. (El primero está cerrado y no estoy de acuerdo con el razonamiento de la localización ...)
De todos modos, creamos una solución alternativa utilizando AppleScript que puede interesar a la gente. El siguiente script debe ejecutarse de forma asincrónica antes de iniciar su prueba automatizada:
Aquí está el guión:
Probablemente no sea muy seguro, pero es la mejor solución que hemos encontrado para permitir que las pruebas se ejecuten sin requerir la intervención del usuario.
Con suerte, puedo obtener suficientes puntos para publicar la respuesta; o alguien puede desproteger esta pregunta. Saludos.
fuente
Aquí hay una mejor solución de
Mac OS X que quiere usar el llavero del sistema al compilar el proyecto
fuente
Para mí, encontré que la sugerencia en el siguiente hilo me ayudó:
Detener "el acceso a las herramientas del desarrollador debe tomar el control de otro proceso para que la depuración continúe"
Sugirió ejecutar el siguiente comando en la aplicación Terminal :
fuente
Estoy en Snow Leopard y este no me funcionó del todo. Pero el siguiente procedimiento funcionó:
fuente
Después de correr:
por la respuesta anterior, es posible que todavía te pida que introduzca en su propia contraseña:
Necesitamos la autorización de un usuario administrador para ejecutar el depurador. Esto solo sucederá una vez por sesión de inicio de sesión.
Lo que realmente significa es cualquier usuario _developer groupmember, por lo que solo su usuario / contraseña que no sea administrador funcionará aquí, pero para deshacerse de él por completo (sin mensajes después de un reinicio) también deberá ejecutar:
(ejecutarlo con sudo como usuario administrador / como root hará que pueda hacerlo de forma remota sin una solicitud de contraseña de interfaz gráfica de usuario)
fuente