Error de CodeSign: la identidad del certificado 'Desarrollador de iPhone: XXXX (12345678)' aparece más de una vez en el llavero. La herramienta de codeign requiere que solo haya una.
Así que voy a mi llavero y lo borro. Pero recibo este error cada vez que reinicio Xcode 4 y alguna aplicación está agregando el certificado antiguo caducado nuevamente en el llavero. ¿Alguna idea de por qué y qué aplicación?
iphone
objective-c
xcode4
code-signing
Mugunth
fuente
fuente
Respuestas:
Acabo de tener el mismo problema. Ha sido arreglado. Se produjo después de que envié una aplicación e instalé algunos certificados para firmar la aplicación.
Solución rápida: abra ACCESO A LLAVEROS> haga clic en MIS CERTIFICADOS> allí probablemente verá Desarrollador de iPhone:. ¡Probablemente lo verá DOS VECES! Seleccione el que tenga la fecha de caducidad más temprana, haga clic derecho y seleccione ELIMINAR.
Reinicie Xcode si no lo ha hecho. Funciona ahora. :)
Codificación feliz.
fuente
Creo que descubrí por qué la eliminación simple no funciona. Debido a que el certificado de desarrollo todavía está almacenado en el perfil de provisión, cuando cierro / vuelvo a abrir el Xcode después de eliminar el certificado en Keychain, vi que el certificado anterior regresaba. Así que lo elimino de nuevo. Funcionó.
La simple solución de eliminar el perfil no funcionó para mí.
Solución que funcionó en mi caso:
fuente
Pasé bastante tiempo luchando con este mismo problema. Después de todos los intentos de solucionarlo, finalmente me di cuenta de que es un error en Xcode. Esta publicación me dio una pista para solucionarlo: los certificados vuelven a aparecer mágicamente en su llavero
En mi caso, la clave privada correspondiente estaba en el llavero del sistema y solo tenía mi nombre (es difícil decir que era para aprovisionamiento). Tuve que:
Una observación interesante es que cuando elimina el certificado, no elimina la clave privada asociada. Visualmente, muestra la clave privada debajo del certificado. No se deje engañar.
¡Buena suerte!
fuente
Bien, encontré la respuesta a otra pregunta "relacionada". Problema de certificado caducado de Xcode Problema conocido con Xcode 4 http://openradar.appspot.com/9173280
fuente
Si es miembro de los programas iOS Developer y Enterprise iOS Developer e ingresó el nombre de su empresa en el mismo para ambas aplicaciones, obtendrá dos certificados de distribución válidos con el mismo nombre.
Creo que esta pregunta aborda esa situación: colisiones de CodeSign entre el desarrollador y la distribución empresarial
fuente
Tengo el mismo problema con xcode45-DP1. esto funciona para mi:
elimine todos los certificados relacionados con su cuenta del llavero. SALIR llavero
elimine todos los perfiles de aprovisionamiento relacionados con su cuenta de xcode: organizer: device: Library: provisioning profiles. SALIR xcode
revocar su certificado y regenerarlo y descargarlo en su máquina de compilación
antes de descargar el perfil de aprovisionamiento, haga clic en Editar junto al botón de descarga para asegurarse de que su nombre esté seleccionado.
Luego descargue el perfil de aprovisionamiento
haga doble clic en el certificado para instalarlo en el llavero
arrastre el perfil de aprovisionamiento a xcode: organizer: device: Library: provisioning profiles
no haga clic en el botón de actualización del xcode.
hacer la construcción.
fuente
La respuesta está aquí
elimine todos mis antiguos perfiles de aprovisionamiento usando el certificado anterior con Organizer, luego salga de XCode, elimine el certificado anterior de Keychain y reinicie XCode.
parece que el xcode mantendrá los certificados cuando tenga referencias a en los perfiles de aprovisionamiento
fuente
Estaba teniendo problemas con los certificados zombies que se volvían a llenar en mi llavero y la identidad del certificado aparecía dos veces. Simplemente eliminar el certificado duplicado no funcionó.
En Xcode, cuando busqué en mi Code Signing en el destino, recordé que tenía un perfil de distribución diferente en las compilaciones "Ad Hoc" que en las compilaciones de "Release".
Cuando generé un nuevo certificado, solo descargué un nuevo perfil para compilaciones Ad Hoc, no para compilaciones de lanzamiento.
Xcode estaba colgando del certificado para ambos perfiles y, por lo tanto, Xcode estaba causando los certificados duplicados ... porque olvidé actualizar mis perfiles correctamente.
Asegúrese de actualizar TODOS sus perfiles de aprovisionamiento al nuevo certificado y cambie TODOS los perfiles al mismo tiempo en Xcode.
fuente
Tuve este problema y leí toda la información al respecto, finalmente encontré la solución por mi cuenta. Lo que la gente no mencionó es que ANTES de limpiar los certificados en el organizador de Xcode y ANTES de limpiar las claves caducadas en su llavero, debe asegurarse de no tener ningún certificado caducado en el Portal de aprovisionamiento . Si tiene incluso un certificado vencido para una aplicación anterior que usó el certificado de desarrollador anterior, Xcode lo incluirá en su organizador con la primera compilación y, desde allí, irá a su llavero y generará un duplicado.
fuente
En mi caso, el "caché" que Xcode estaba viendo era un dispositivo iOS adjunto. Para determinar si este es su problema:
Si esta es la causa principal para usted, puede solucionarlo asegurándose de desconectar los dispositivos iOS antes de iniciar Xcode.
fuente
Simplemente eliminar el certificado redundante no funcionó para mí. Parece que cada vez que se llama a xcodebuild, se "vuelve a crear" el certificado en el llavero desde un caché en algún lugar ... el mismo problema que avi Creé un truco / solución para él, traté de encontrar dónde se estaba almacenando el archivo en caché y despejarlo, pero no tuve suerte. Al final, lo que funcionó para mí (un poco un truco, pero bueno, qué más se puede hacer), fue averiguar cuál es el número de certificado y eliminarlo manualmente del llavero poco después de que se llame a xcodebuild. Primero, vaya a su directorio / usr / bin / (o cualquier directorio que tenga su archivo xcodebuild, intente
which xcodebuild
) y ejecute el siguiente comando:Luego crea un archivo usando tu editor favorito (no olvides sudo) con el siguiente código:
Nota: tendrá que modificar su archivo sudoers para tener acceso y ejecutar este comando específico sin tener que ingresar una contraseña.
Reemplace la identidad hexadecimal después de -Z arriba con la identidad hexadecimal del certificado zombi infractor. Finalmente, asegúrese de que el archivo xcodebuild sea ejecutable:
Ahora puede abrir su llavero y ejecutar el comando de compilación, y ver cómo se resucita el certificado zombie ofensivo y luego se dispara sumariamente antes de que se convierta en un problema para la firma de códigos. Con suerte, Apple encontrará una solución real para esto.
fuente
En mi caso, eliminar los certificados no funcionó. XCode 4 parece almacenarlos en caché o restaurarlos. El truco que finalmente funcionó para mí fue tener keychain y xcode ejecutándose. Luego, en el llavero, arrastre mis 2 certificados (dev + dist) de 'inicio de sesión' a 'sistema'. Luego, los duplicados reaparecieron mágicamente y pude eliminarlos, y luego arrastré los certificados de nuevo a 'iniciar sesión'
fuente
Es muy fácil, exporte el certificado correcto a su escritorio. Elimina ese certificado en el llavero. Intente compilar la fuente con un mensaje de error (no tiene certificado ..) Luego importe nuevamente el certificado. => ¡Éxito!
fuente
Acabo de eliminar una de las claves privadas en mi llavero para el certificado que ya no necesito.
Aunque el certificado vuelve a aparecer pero la clave privada no vuelve a aparecer. Ahora verifique los certificados válidos y solo aparecerá un certificado y los otros certificados cuya clave privada se eliminó ya no se mostrarán bajo certificados válidos.
Creo que esta es la forma más sencilla de resolver este problema.
fuente
Una vez estuve lidiando con el mismo problema. Y lo he resuelto eliminando el perfil de aprovisionamiento no utilizado de la pestaña Organizador en xcode. En realidad, Keychain obtendrá ese certificado de este perfil de aprovisionamiento, que es un certificado caducado o la compilación mediante certificado revocado.
Así que solo tienes que eliminar este perfil de aprovisionamiento de la pestaña Organizador. El organizador está en el botón del lado superior derecho de xcode. Ábrelo y luego, en Organizador, elimina los perfiles de aprovisionamiento que no usas.
Aquí está la captura de pantalla,
Y no olvide eliminar el certificado adicional del llavero, pero después de eso, ese certificado no volverá a aparecer.
fuente