Ventana emergente repetida: Xcode quiere acceder a la clave "com.apple.dt.XcodeDeviceMonitor" en su llavero

83

A partir de MacOS Sierra, comencé a recibir esta ventana emergente periódicamente desde XCode, incluso después de presionar 'Permitir siempre'.

Surgir

Intenté eliminar el elemento "com.apple.dt.XcodeDeviceMonitor" en Keychain. Esto regenera la clave, pero no soluciona el problema.

Es un tema de discusión abierto en los foros de Apple , pero nadie parece tener una solución.

Andrew Schreiber
fuente
¿Quizás una preferencia se estropeó? Ejecute lsof y mientras aparece el cuadro de diálogo, vea si Xcode tiene algún archivo que parezca "sospechoso" abierto. Luego salga de Xcode, elimine el archivo y la clave, y vuelva a intentarlo.
Colin Barrett
1
¿Alguien sabe por qué Apple necesita acceder a esta clave?
Florian

Respuestas:

104

Publicar esta solución para Xcode 8 porque nadie más tiene:

  1. Abra el acceso al llavero.
  2. Busque XcodeDeviceMonitor.
  3. Arrastre el elemento al llavero del sistema a la izquierda.
  4. Ingrese la contraseña de administrador.

Eso finalmente lo arregla.

malhal
fuente
1
Mucho más seguro que seleccionar Permitir que todas las aplicaciones accedan a este elemento . Gracias.
Bob
2
Esta debería ser la respuesta correcta. Esto silenció el error incluso después de reiniciar. ¡¡Gracias!!
Mike Critchley
@jjxtra XcodeDeviceMonitor no me apareció las primeras veces. Simplemente siga descartando la ventana emergente (intenté denegar / permitir / permitir siempre) y eventualmente aparecerá.
olivaresF
Mi problema se solucionó después de seguir estos pasos. Gracias :)
Mohnish Hirudkar
77

abra [ acceso a llavero ]> escriba " xcode " en el área de búsqueda> haga doble clic en [ com.apple.dt.XcodeDeviceMonitor ]> haga clic en [ control de acceso ]> seleccione la primera opción [ permitir que todas las aplicaciones accedan a este elemento ]

¡No olvide hacer clic en Guardar cambios!

Espero eso ayude.

Toque permitir que todas las aplicaciones accedan a este elemento, luego toque Guardar cambios

Linc
fuente
2
Esto no funcionó para mí. La ventana emergente volvió en el siguiente reinicio y el control de acceso volvió a "Confirmar antes de permitir el acceso". Xcode y XcodeDeviceMonitor están en la lista "Permitir siempre el acceso de estas aplicaciones" de todos modos, por lo que no debería haber sido necesario para permitir todas las aplicaciones.
Jim Leask
Lo mismo aquí ... la ventana emergente sigue apareciendo. ¿Alguien con una solución permanente?
ZS
1
¿Se acordó de hacer clic en el botón "Guardar cambios" y escribir su contraseña?
Hobbes the Tige
1
Cuando busco xcodeen Keychain, no encuentra nada, todavía obtengo esta ventana emergente. 🤷🏻‍♂️
Clifton Labrum
1
Actualizar. Creo que la única solución que se deshace permanentemente de la ventana emergente es la siguiente solución de malhal ... no he visto la ventana emergente desde entonces, incluso después de reiniciar y bloquear intencionalmente mi aplicación con una excepción de matriz fuera de límites. Aún así, aprendí algo de esta respuesta para referencia futura. Gracias.
Mike Critchley
11

Lo siguiente funcionó para mí (ejecutando macOS 10.12.1 y XCode 7.3).

Tenga en cuenta que el problema con otras soluciones es que operan en la entrada del llavero de inicio de sesión (temporal), que se elimina cuando XCode se cierra, por lo que una solución parece ser crear la entrada en el llavero del sistema.

Intenté usar Keychain Access para mover la entrada del inicio de sesión al llavero del sistema, pero falló con varios errores oscuros (por ejemplo, "Se ha producido un error. No se puede agregar un elemento al llavero actual").

En su lugar, utilicé el comando de seguridad para crear una nueva entrada en el llavero del sistema que es (casi) idéntica a la temporal.

La única diferencia es la contraseña que no me molesté en extraer (y no estoy seguro de si es importante).

Abra Terminal, pegue y ejecute el siguiente comando (después de la edición adecuada si XCode no está en la ubicación normal):

sudo security add-generic-password \
-s 'com.apple.dt.XcodeDeviceMonitor' \
-a session-token \
-p anyoldstring \
-T /Applications/Xcode.app \
-T /Applications/Xcode.app/Contents/Developer/Library/Xcode/Tools/XcodeDeviceMonitor \
/Library/Keychains/System.keychain

Descargo de responsabilidad: mi único objetivo aquí era evitar la molesta alerta.
No tengo idea de si esto romperá algo.
Estás jugando con el llavero del sistema: ¿qué podría salir mal?

peegee123
fuente
1
Esto funcionó mientras que ninguna otra solución lo hizo. Tuve que modificar ligeramente las rutas de archivo, ya que mi Xcode está en una carpeta llamada Xcode, ¡pero por lo demás esto ha funcionado! Gracias.
Andrew Smith
1

Informé esto a Apple como un error y después de varias sugerencias, las mismas que algunas de las mencionadas aquí que no funcionaron, regresaron con lo siguiente, que funcionó:

"Lamento el problema. Vamos a profundizar un poco más en esto. Mientras tanto, si no necesitas el medidor de iCloud, puedes desactivarlo temporalmente haciendo esto:

  1. Vaya a Terminal.app.
  2. Escriba esto para habilitar los
    valores predeterminados del usuario, escriba com.apple.dt.Xcode iCloudGaugeDisabled -bool YES
  3. Reiniciar Xcode "
Easiwriter
fuente
0

Este problema me ha vuelto a surgir el otoño pasado. Creo que el problema puede deberse al agujero de seguridad que tenía Apple donde la cuenta de usuario raíz se dejó sin protección con contraseña. Restablecí mi contraseña para la cuenta de usuario raíz (a la misma contraseña que tenía anteriormente). No noté la relación en ese momento, pero después de leer este artículo de soporte, sospeché que este podría ser el problema.

https://support.apple.com/en-us/HT201609

Restablecí mi contraseña para el llavero de inicio de sesión (nuevamente a la misma contraseña) siguiendo estos pasos y desde entonces el problema desapareció.

Espero que esto ayude.

Johnrechd
fuente