Xcode 4: error "No se encontró la identidad de firma válida" al aprovisionar perfiles en una nueva instalación de Macintosh

209

Tenía un Macintosh que solía desarrollar aplicaciones para iPhone usando XCode 4. Ahora tengo un nuevo Macintosh con una nueva instalación de ... todo.

Al abrir proyectos de Xcode creados en la antigua Mac, no puedo ejecutar la aplicación en el iPhone que se configuró como iPhone de desarrollo.
El organizador de Xcode 4 me dice "No se encontró la identidad de firma válida" en mis perfiles de aprovisionamiento.

Supongo que esto tiene algo que ver con el archivo .certSigningRequest que había generado antes en la Mac anterior (tengo una copia de seguridad de ese archivo), pero ¿qué debo hacer con él en la Mac nueva?

Otra cosa extraña, no veo mis 5 perfiles de aprovisionamiento existentes (definidos en el portal de aprovisionamiento de Apple) en el organizador, incluso después de una actualización y después de haber ingresado mi nombre de usuario y contraseña del portal de aprovisionamiento:

ingrese la descripción de la imagen aquí

Oliver
fuente
44
¿Cómo portaste tu identidad? La forma más fácil es usar los botones de importación / exportación justo en la parte inferior de la ventana que muestra: exportar desde un sistema en funcionamiento, importar al nuevo sistema. Eso debería garantizar que todos los certificados y perfiles se copien.
Tommy
2
pero, ¿qué sucede si la máquina anterior tiene un disco duro defectuoso (y no tiene respaldo) o ya está formateado?
nonopolaridad
En realidad, es obvio que una pregunta como comentario es una mala idea. (Una pregunta completamente nueva de stackoverflow. O localizar la pregunta existente es la idea correcta.)
Warren P

Respuestas:

221

Con Xcode 4.2 y versiones posteriores, incluido XCode 4.6, hay una mejor manera de migrar todo su perfil de desarrollador a una nueva máquina. En su máquina existente, inicie Xcode y haga esto:

  1. Abra el Organizador (Shift-Command-2).
  2. Seleccione la pestaña Dispositivos.
  3. Elija Perfil de desarrollador en la esquina superior izquierda debajo de BIBLIOTECA, que puede estar debajo de la biblioteca de encabezados o debajo de un encabezado llamado EQUIPOS.
  4. Elija Exportar cerca del lado inferior izquierdo de la ventana. Xcode le pide que elija un nombre de archivo y contraseña.

Editar para Xcode 4.4:

Con Xcode 4.4, en el paso 3, elija Perfiles de aprovisionamiento en BIBLIOTECA. Luego seleccione sus perfiles de aprovisionamiento con el mouse o Command-A.

Además, Apple está haciendo mejoras en la forma en que manejan este aspecto de Xcode, y algunos usuarios han informado que el botón Actualizar en la esquina inferior derecha funciona. Intente hacer clic en Actualizar primero y, si eso no ayuda, realice la secuencia de exportación / importación.

Imagen para XCode 4.6 añadida por WP

ingrese la descripción de la imagen aquí

Editar para XCode 5.0 o más reciente:

  1. Abra XCode -> Preferencias ('Comando' + ',')
  2. Seleccione la ID de Apple de la lista.
  3. Haga clic en el icono CONFIGURACIÓN cerca de la esquina inferior izquierda de la ventana y elija EXPORTAR CUENTAS ... Xcode le pide que elija un nombre de archivo y una contraseña.

En su nueva máquina, inicie Xcode e importe el perfil que exportó anteriormente. Funciona de maravilla.

Imagen para XCode 5.0 añadida por Ankur

Para XCode 5 o versiones más recientes

Steve Liddle
fuente
19
Para el paso 3, no tenía "Perfil de desarrollador" en la BIBLIOTECA. En cambio, tuve que elegir <nombre de mi equipo> en EQUIPOS.
Steve Onorato
9
¡Sigo recibiendo "identidad de firma válida no encontrada"!
RGML
77
Tengo 2+ computadoras que uso para el desarrollo. Exporté el perfil de aprovisionamiento en uno de ellos, pero no pude importarlo desde la página Organizador> Biblioteca> Perfiles de aprovisionamiento. Tuve que ir a la página Biblioteca> Equipos> myUserID para poder importar el perfil del desarrollador.
GLaDOS
77
Apple está "mejorando" estas cosas, pero introduce un nuevo dolor con cada paso. Todavía me estoy sacando el pelo una y otra vez ...
brainray
44
Contribuí con una imagen para ayudar a aclarar esto para los usuarios de XCode 4.6. APPLE YU NO HACE ESTE FÁCIL ????
Warren P
60

Hoy me encuentro con un problema similar. Desafortunadamente, mi HD murió en mí, así que no pude hacer la migración mencionada aquí en la respuesta aceptada. Tuve que hacer los siguientes pasos:

  1. Conéctese al centro de miembros de desarrolladores de Apple y luego al portal provisional de iOS.
  2. Revocar mi certificado.
  3. Cree un nuevo certificado proporcionando un nuevo par de clave privada y pública.
  4. Elimine todos los perfiles de aprovisionamiento anteriores y cree otros nuevos.
  5. Descargue los nuevos perfiles de aprovisionamiento e instálelos en XCode simplemente arrastrándolos al icono XCode en el dock.

La misma acción también se menciona en esta publicación .

tiguero
fuente
Gracias, esto simplemente funcionó para mí (no tengo mi viejo Mac conmigo para transferir nada).
Jamie G
1
Gracias @tiguero ... Mi HD también se bloqueó ... y estaba luchando por encontrar una respuesta para la misma después de recuperar los datos del HD. Pero cuando acabo de recrear el Certificado utilizando el llavero y el portal de aprovisionamiento. Se resolvió todo el problema. NOTA: es posible que necesitemos modificar el perfil de aprovisionamiento y agregarles el nuevo certificado y luego volver a descargarlos y volver a instalarlos. Cheers Coders .. Espero que esto ayude a alguien que busca una respuesta.
Apple_iOS0304
1
Este es un conocimiento muy importante. (Revocar el certificado anterior requerido antes de que pueda crear uno nuevo no es intuitivo, pero definitivamente es una buena práctica operativa para Apple trabajar de esta manera. Sin embargo, le hace la vida difícil si pierde su clave).
Warren P
Si revoca un certificado que se ha utilizado para firmar una aplicación en producción, ¿no afecta eso de alguna manera a la aplicación?
Emmanuel Ay
2
@EmmanuelAy Si su membresía en el Programa de Desarrolladores de iOS es válida, sus aplicaciones existentes en la App Store no se verán afectadas al revocar su certificado. Echa un vistazo aquí: developer.apple.com/support/technical/certificates
tiguero
16

Asegúrese de que su certificado esté en el llavero de "inicio de sesión". Resalte el llavero de inicio de sesión si no lo ve, búsquelo. Luego arrastre el certificado sobre las palabras "iniciar sesión". Cerrar y abrir XCode, ta-da.

iOSDevSF
fuente
2
Muchas gracias, todo me pareció correcto, excepto que mis certificados estaban en el Sistema y no en Iniciar sesión. Cuando los mudé, ¡todo funcionó de maravilla!
Pat
ohhh, un simple clic no funciona como se describe en developer.apple.com/ios/manage/overview/index.action . La ubicación debe seleccionarse manualmente
sergtk
9

Debe copiar la clave privada y el certificado de su Mac anterior. Abra Keychain Access en la Mac anterior y busque en la categoría Claves del llavero de inicio de sesión: la clave debería estar allí. Debe exportar tanto la clave pública como la privada, luego copiar yourkey.pemy yourkey.p12a la nueva Mac.

Importarlos usando Keychain Access probablemente fallará, al menos por debajo de 10.6; puedes usar estos comandos en su lugar:

security import yourkey.p12
security import yourkey.pem
Laca
fuente
Keychain Access no puede exportar o importar claves privadas a veces. Puede usar la securityutilidad de línea de comandos en su lugar. Te garantizo que funciona.
LaC
@LaC: ¿puedo eliminar algunas entradas existentes en la nueva Mac?
Oliver
Puede eliminar entradas que ya no necesita. Si no está seguro de si los necesita o no, es mejor no eliminarlos, por supuesto.
LaC
2
Debe usar la función de exportación / importación de Organizer para migrar su perfil de desarrollador. Vea la respuesta que acabo de publicar.
Steve Liddle
Intenté todos los demás pasos y no funcionaron. Intenté con este, y la importación .p12 funciona bien, pero .pem dice que se importó, pero cuando entro en Llavero no se muestran ... y xCode todavía dice certificado de firma no válido ... ¿alguien sugiere?
Michael Rowe
9

Por el error

Identidad de firma válida no encontrada

Consulte los pasos publicados por Apple para resolver este problema.

Con respecto al tema de sus "5 perfiles de aprovisionamiento existentes" en el Portal iOS que faltan en su biblioteca local en Xcode 4.x Organizador> pestaña Dispositivos> sección Perfil de aprovisionamiento en Biblioteca.

Recomiendo seguir los pasos que lo guían a través de la restauración de perfiles faltantes y también cubre el caso de un error de Xcode en el que Xcode 4.1-4.2.1 elimina por error de su biblioteca local los perfiles que están "Activos" en el Portal iOS.

Bobjt
fuente
1
Me gusta esta respuesta porque realmente funciona y sus documentos intentarán mantenerse actualizados
okysabeni
7

Tendrá que ir a su sitio de desarrollador, ir a sus certificados y generar uno nuevo para su MAC actual y agregarlo a su llavero.

Y luego deberá agregar nuevamente el Perfil de aprovisionamiento. Debería funcionar ahora. Básicamente , debe realizar los mismos pasos que hizo cuando obtuvo su Certificado de desarrollo.

Legolas
fuente
7

Tuve el mismo error pero el problema fue ligeramente diferente. Tenemos un equipo de desarrolladores, pero todos usamos el mismo ID de Apple (Cuenta de desarrollador), por lo que cuando generé el perfil de Aprovisionamiento, seguí recibiendo el mismo error que en la pregunta del tema. Luego, aunque había descargado el certificado (que se solicita como parte de los pasos del Asistente de aprovisionamiento de desarrollo), todavía recibía ese error. Luego descubrí que el problema era que nuestra cuenta de desarrollador de Apple estaba usando un certificado que se generó en mi máquina de trabajo, por lo que necesitaba revocarlo, generar un nuevo certificado y luego crear el perfil de aprovisionamiento.

El resumen, la lección aprendida es que el certificado que se utiliza para su perfil de aprovisionamiento debe generarse en la misma computadora donde se utilizará el perfil de aprovisionamiento. Esto es especialmente importante a tener en cuenta cuando tienes un equipo de desarrolladores que comparten la misma ID de Apple.
Espero que ayude a alguien

Tiene AlTaiar
fuente
6

Mis 2 centavos en este error, incluso si no están relacionados con un escenario de exportación / importación:

al agregar el certificado de aprovisionamiento móvil (es decir, el PROVarchivo), NO arrastre el archivo desde Finder a Keychain Access. En su lugar, solo haga doble clic en el archivo PROV dentro del Finder, mientras mantiene la aplicación Keychain Access ejecutándose en algún lugar.

De hecho, he visto que mi antiguo elemento de aprovisionamiento en Keychain (el que tiene luz amarilla) se sustituye por uno nuevo, verde, con el mismo nombre e ID de la aplicación. HTH

superjos
fuente
1
Gracias, también al hacer clic en Agregar en Perfiles de aprovisionamiento en Xcode Organizer falla, mientras que si hago doble clic en el archivo .mobileprovision todo funciona bien.
damix911
5

Enfrenté este problema esta mañana cuando abrí una aplicación antigua con un certificado diferente y permití su acceso al llavero. Mi otra aplicación que funcionaba bastante bien, dejó de funcionar con este error. He estado arrancando mi cabello hasta ahora, cuando simplemente hice esto:

Menú Xcode> Preferencias> Cuentas> THE_APPLE_ID_THAT_YOU_ARE_USING> Ver detalles

En la nueva ventana, en la parte inferior izquierda de la Signing identitiespresione el +botón y seleccione iOS Development. Volverá a agregar la identidad, y después de eso, mi problema ya está solucionado y la aplicación se está ejecutando nuevamente en el dispositivo.

ingrese la descripción de la imagen aquí

Neeku
fuente
4

Mi sistema operativo MAC se bloqueó recientemente. Reinstalé Mac 10.7.4y XCode 4.5. Pero todos los perfiles de aprovisionamiento mostraban el siguiente mensaje en organizer.

Valid Signing identity not found

Luché por encontrar ayuda durante un par de días. Más tarde me di cuenta de que si ha migrado de un sistema a otro (o ha formateado su sistema), debe exportar su clave privada desde su llavero desde su sistema anterior al nuevo sistema (o al nuevo sistema operativo instalado).

También se puede exportar su perfil de desarrollador / perfil de desarrollador de equipo en el organizador.

Organizer > Teams > Developer Profile > Export

Espero eso ayude.

iSaalis
fuente
3

Me sucedió lo mismo que Tiguero (gracias por su respuesta, me dio esperanza), pero aquí hay una manera de deshacerse del valid signing identity not founderror sin tener que eliminar todos sus perfiles de aprovisionamiento.

Si está en un nuevo sistema y no puede recuperar sus claves de otro sistema, debe eliminar y regenerar nuevos Developmenty Distributioncertificados para Xcode. Puede hacerlo a través de Xcodela manera tradicional usando Keychain Access.

Luego, lo que puede hacer es entrar Provisioning, y en cada pestaña Development, y Distribution, hacer clic al Editlado del perfil que desea actualizar, y luego Modify.

Verá una lista de certificados, y luego debe marcar la casilla junto a la que acaba de hacer Submit.

Una vez que haga esto, vaya a su Xcode(estoy usando 4.3.3) Organizer > Devices > Library > Provisioning Profilesdonde recibe el mensaje de error y haga clic Refresh. Una vez que responda la solicitud para ingresar su inicio de sesión de desarrollador, Organizervolverá a descargar los perfiles y el mensaje de error debería desaparecer.

Catherine
fuente
Además, después de eso, antes de compilar en un dispositivo, probablemente tendrá que ir a los paneles de configuración de compilación y seleccionar el nuevo perfil de desarrollador de iPhone para evitar un error de signo de código.
Catherine
2

Resolví el error "Identidad de firma válida no encontrada" con más o menos:

  1. Asegúrese de que el certificado en su programa de desarrollador de iOS también aparezca en su acceso de llavero y sea válido (compare las fechas de emisión). Si no es así, transfiéralo desde su Mac anterior usando las instrucciones de la referencia de Apple O elimínelo del sitio web y su acceso de llavero y luego vuelva a crearlo, vuelva a descargarlo y arrástrelo sobre el código X.
  2. Elimine los perfiles de aprovisionamiento de distribución o desarrollo existentes y vuelva a crearlos en función de su nuevo certificado, vuelva a descargarlos y verifique desde el acceso de llavero que todo es válido.
snez
fuente
0

Parece que puede transferir sus certificados y perfiles de aprovisionamiento de una máquina a otra, por lo que si tiene problemas para configurar su certificado y / o perfiles porque migró su máquina Dev, eche un vistazo a esto:

Cómo transferir certificados xcode entre Mac

Tiene AlTaiar
fuente
0

El truco para mí fue descubrir que, aunque podía ver el certificado de desarrollador al iniciar sesión, no estaba en Mis certificados. La solución fue exportar el certificado del llavero en la Mac anterior, luego importarlo a Mis Certificados / iniciar sesión en la nueva Mac.

Jim T
fuente
0

Nadie ha mencionado esto todavía, y esto puede no ser un problema común, pero tuve un problema similar con Xcode 5: asegúrese de tener un llavero predeterminado seleccionado en el Acceso a Llaveros de Mac . Probé una nueva instalación de Mountain Lion y eliminé un llavero, que resultó ser el predeterminado. Después de configurar otro llavero como predeterminado (haga clic con el botón derecho en el llavero y seleccione Hacer que el llavero sea "Nombre_de_cadena clave" predeterminado "), Xcode pudo configurar las identidades de firma válidas.

Newenglander
fuente
0

Tuve este problema porque el Certificado de Desarrollo de iOS asociado con el perfil de aprovisionamiento no estaba en mi llavero. Había reinstalado OSX y este fue el resultado. Hice lo siguiente:

  • developer.apple.com bajo Certificados, identificadores y perfiles
  • seleccione el certificado de desarrollo de iOS correspondiente (y válido), descárguelo
  • haga doble clic en el archivo descargado, se agrega al llavero
  • los errores en el organizador desaparecen

Si no tiene un certificado válido, genere uno nuevo y cree un nuevo perfil de aprovisionamiento con él.

mohrt
fuente