iOS 7.0 No se encontraron identidades de firma de código

124
  • el certificado es valido
  • xcode 5
  • ios 7

Error de firma de código: no se encontraron identidades de firma de códigos: no se encontraron identidades de firma de códigos (es decir, pares de certificados y claves privadas) que coincidan con el perfil de aprovisionamiento especificado en la configuración de compilación ("Perfil de aprovisionamiento de equipo iOS: *"). Error de CodeSign: se requiere firma de código para el tipo de producto 'Aplicación' en SDK 'iOS 7.0'

usuario2849317
fuente
24
Yo llamo a esto la pesadilla de inicio de sesión de código de Apple, siempre resuelvo esto al eliminar mis certificados / perfiles, volver a descargarlos y luego asignar los perfiles correctos.
meda
ver mi respuesta SO stackoverflow.com/questions/19086395/…
Profundizado el
9
Reiniciar el Xcode ayuda.
Ronald Randon
2
Reiniciar Xcode funciona para mí :)
Hemant Chittora
1
Tercer reinicio de XCode
Khanh Nguyen

Respuestas:

68

Para el certificado

  1. Revocar certificado anterior.
  2. Generar nuevo certificado de desarrollo.
  3. Descargar certificado.
  4. Haga doble clic para poner en KeyChain.

Para perfil de aprovisionamiento

  1. Crear nuevo o editar el perfil de aprovisionamiento existente.
  2. Descargar e instalar.

Para BundleIdentifier.

  1. com.yourcompanyName.Something (Poner lo mismo que en AppId)

ingrese la descripción de la imagen aquí

CodeSigningIdentity.

  1. Seleccione el perfil de aprovisionamiento que creó.

ingrese la descripción de la imagen aquí

Rajneesh071
fuente
44
A veces reiniciar ayuda, me ayudó después de reiniciar mi Mac.
máscara
1
También debe verificar que haya un perfil de aprovisionamiento de distribución con un ID de aplicación que coincida con el identificador de paquete de la aplicación. Una vez que conseguí que coincidieran, el diálogo de envío dejó de darme ese error.
Chuck Krutsinger el
1
Antes de volver a generar los certificados, le sugiero que se asegure de que tiene la clave privada del certificado que está tratando de usar.
jjramos
¿Alguna razón específica por la que deberíamos revocar los certificados anteriores?
iAviatorJose
43

Mi solución para este problema fue:

Xcode> Preferencias. En Cuentas, haga clic en su ID de Apple. Haga clic en Ver detalles, haga clic en el perfil de aprovisionamiento de sus proyectos (creo que esto ayuda) y haga clic en el botón Actualizar en la parte inferior izquierda.

christopher_h
fuente
17

Pensé que complementaría otras respuestas con mi propia experiencia personal sobre esto.

Recientemente tuve un problema por el cual se construirían dos objetivos, y dos fallarían con el siguiente error:

Error de firma de código: No se encontraron identidades de firma de código: No se encontraron identidades de firma válidas (es decir, par de certificado y clave privada) que coincidan con la identificación del equipo "XXXXXXXXXX". Error de CodeSign: se requiere la firma de código para el tipo de producto 'Aplicación' en SDK 'iOS 7.1'

Esto fue a pesar de haber actualizado todo en Xcode y en el Centro de desarrolladores de iOS .

La sugerencia fue que la ID del equipo que se muestra en el mensaje de falla de compilación estaba desactualizada.

Efectivamente, al abrir el project.pbxprojarchivo de Xcode en un editor de texto se encontró la antigua identificación del equipo:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Por cierto, para obtener su project.pbxprojarchivo, seleccione su .xcodeprojarchivo y muestre el contenido como se muestra aquí:

ingrese la descripción de la imagen aquí

Al buscar en el Id del objetivo D29A93A318AB96440099C177, pude ver que coincidía con uno de los objetivos que fallaban:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

En este caso MyTarget3,. Para resolverlo, una simple búsqueda de texto reemplazó la identificación del equipo anterior con la nueva identificación correcta. Problema resuelto.

Para resumir , esperamos que su situación se resuelva utilizando las respuestas anteriores en lugar de profundizar en las complejidades del archivo de proyecto de Xcode. Sin embargo, si no lo hace, y el error muestra una ID de equipo no válida, entonces vale la pena verificar si esa ID de equipo todavía está disponible.

Max MacLeod
fuente
Este fue mi problema también. No estoy seguro de si fue por mí o por alguien de mi equipo distribuido con sus propios perfiles, certs, etc. Ese equipo de desarrollo que noté proviene del menú desplegable Equipo en la pestaña General en la configuración de mi proyecto. La eliminación completa de esa línea funcionó para mí si desea que el equipo se configure en Ninguno.
JoshA
lo he comprobado, mi equipo de desarrollo es correcto ¿cómo obtengo la nueva identificación? la instalación del certificado tiene el mismo DevelopmentTeam que está en él. por favor ayuda
9to5ios
Funciona de maravilla. Simplemente reemplace el Id que se muestra en el error con el que está arriba.
vanguard69
En mi caso, tuve que hacer clic en el botón "Reparar" en Target -> General -> Identidad
Ohad Schneider
9

Tuve exactamente el mismo problema en el desarrollo. Lo resolví por

  1. Vaya a las preferencias de XCode, vea los detalles de la ID de Apple y elimine el archivo de aprovisionamiento que se queja.
  2. Vaya a Acceso al llavero y elimine el certificado de desarrollo relacionado con el archivo de aprovisionamiento que acaba de eliminar.
  3. En el Centro de miembros de Apple, descargue el archivo de aprovisionamiento de desarrollo que acaba de eliminar localmente, haga doble clic en el archivo para asegurarse de que aparezca en XCode.
  4. Descargue el certificado de desarrollo que acaba de eliminar localmente y haga doble clic para asegurarse de que aparezca en Keychain Access.
  5. Debería ser bueno ir ahora.
EddieHFu
fuente
2
Esta respuesta debe ser más alta en la página.
bkSwifty
8

Acabo de tener este problema con Jenkins.

La solución fue copiar el certificado y pegarlo en el llavero del sistema; de lo contrario, Jenkins no podría leer el certificado.

Daniel Ryan
fuente
7

No debería tener que eliminar todos los perfiles para solucionar este problema,

Al mirar los perfiles de mi dispositivo en el Organizador, vi que uno de mis perfiles no era válido. Luego fui a la página de Certificados de desarrollador, identificadores y perfiles y todos los perfiles estaban activos, verdes y se veían bien, pero al hacer clic en editar en el que se mostró como no válido en mi dispositivo, vi que la casilla de verificación en la cuenta asociada no estaba marcada aunque se seleccionó Seleccionar todo. Marqué la casilla para asociar el perfil con mi certificado, descargué el perfil y todo se solucionó.

En su página web de Perfiles, haga clic en "Editar" En su página web de Perfiles

Es posible que vea que no hay un certificado asociado, aunque "Seleccionar todo" esté marcado. ¡Edita tu perfil! [] [1]

mj662
fuente
Estaba a punto de eliminar todo mi perfil de aprovisionamiento y comenzar desde el boceto, luego encontré su respuesta. Amigo perfecto. Un día entero perdido por este problema. Muchas gracias por compartir su respuesta.
Nilesh Kumar
4

Para mí, establecer Proyecto → Objetivos / [Su proyecto] → General → Equipo en "Ninguno" resolvió el problema.

gklka
fuente
4

Después de pasar por un tiempo ridículo tratando de resolver uno de estos, y definitivamente puedo ver dónde la mayoría de estas respuestas podrían ser correctas en algunos casos, mi situación no era tan infrecuente.

Estaba tratando de implementar en la tienda de aplicaciones para probar con TestFlight. Un desarrollador anterior, que ya no formaba parte del proyecto o la empresa, había creado el Certificado de Distribución IOS. Lo que xcode intentaba decirme era que sí, que el certificado estaba en el centro de miembros, pero no puedes usarlo porque no es tuyo. No tenía la clave privada necesaria para firmar con ella y ninguna cantidad de actualizaciones, reinicios y revocaciones me ayudarían. Necesita un certificado de desarrollador y distribución para subir a la tienda de aplicaciones.

La solución fue crear un nuevo certificado de distribución de producción en el centro de miembros, utilizando una nueva solicitud de firma de mi llavero. Este proceso está bien documentado y se describe mientras crea el certificado en línea. Una vez hecho esto, actualice su cuenta en xcode para descargar en su llavero y será dorado. ¡Espero que esto ayude a alguien!

Philip Nelson
fuente
2

Puede sonar extraño, pero para mí funcionó reiniciar mi Mac ... No puedo explicar por qué y qué sucedió, pero funciona ahora. espero que ayude a alguien

Silviu St
fuente
2

Llegué a este hilo cuando estoy usando la secuencia de comandos pura / script de compilación jenkins y no quiero ninguna configuración de UI / RDP individual para el entorno de integración.

Después de unas horas, intente resolver exactamente el mismo problema con jenkins.
La clave es "security list-keychains -s <your_keychain_name>"

--- Larga historia ---
Utilizo un script en jenkins para anular la configuración por proyecto (perfil de aprovisionamiento e identidades de firma)
Después de actualizar a Xcode 7, tengo que cambiar el script agregar arriba "list-keychains" después de "create- llaveros "

Guión actualizado aquí .

Bochun Bai
fuente
1

no necesita eliminar todos sus perfiles. Tuve el mismo problema y lo solucioné instalando los certificados faltantes. Es posible que haya olvidado instalar el certificado requerido para el perfil de aprovisionamiento que está utilizando para la firma de código.

  • asegúrese de haber instalado los certificados deseados (desarrollo / distribución) en el llavero para el perfil de provisión de firma de código (desarrollo / distribución).
srinivas
fuente
1

Intente cambiar el Identificador de paquete: Proyecto -> Objetivos / [Su proyecto] -> General -> Identificador de paquete

Si la aplicación se publicó en AppStore XCode no permite crear la aplicación con el mismo identificador de paquete.

Vlad
fuente
1

Apuntando a iOS 8 y 9 en Xcode 7. Mi perfil de desarrollo está bien, recibí este error al archivar la aplicación para cargarla en la tienda de aplicaciones. Esto es lo que hice:

Xcode> Preferencias> Cuentas> Ver detalles. Junto a la distribución de iOS, haga clic en el botón "Restablecer". Esto invalidará el perfil de aprovisionamiento de distribución que está utilizando (porque restablece el certificado de distribución), por lo tanto, edite el perfil para incluir el certificado recién restablecido.

Asegúrese de descargar tanto el nuevo certificado de distribución como el perfil de aprovisionamiento de distribución recién editado. Reiniciar Xcode.

Matthew Quiros
fuente
1

Asegúrese de que su certificado esté conectado con su clave privada :

Acceso a llavero abierto , inicio de sesión, certificados . Encuentre el certificado dentro de la lista y vea si está emparejado correctamente con su clave privada.

Si el certificado no está firmado con una clave privada, elimínelo, vaya a la página del desarrollador de Apple y cree un nuevo certificado. A veces será necesario revocar viejos. Este nuevo certificado ahora estará debidamente firmado con su clave privada.

Ahora, cuando tenga un nuevo certificado, vuelva a crear los perfiles de aprovisionamiento necesarios que incluirán un nuevo certificado en el proceso de creación.

Tenga en cuenta que cuando alguien de su equipo restablece este certificado con su clave privada, este mismo problema puede aparecer nuevamente durante el proceso de actualización. No estoy seguro, pero parece que cada desarrollador del equipo debe tener un certificado propio para su distribución.

Prcela
fuente
1

Obviamente este problema tiene diferentes causas. :)

Para mi caso, el inicio de sesión de mi cuenta expiró ... Lo resolví simplemente:

XCode -> Preferencias -> Cuenta -> ID de Apple -> Seleccione la ID relacionada y renueve el inicio de sesión ...

¡Espero que esto ayude!

RainCast
fuente
0

Vaya al navegador Issue y verifique si Signing Identity:está presente en su Acceso a llaveros . Si no, descargue el .cerarchivo y agréguelo al llavero.

Petr Syrov
fuente
0

Después de tirar del cabello durante mucho tiempo, finalmente encontré un problema. Seleccioné un certificado incorrecto al crear el perfil de aprovisionamiento. Al seleccionar el correcto, me ayudó. En su caso, si es múltiple, entonces debe intentar seleccionar uno por uno para resolver este problema.

Amit Ajmera
fuente
0

Tuve este error ambiguo, "Comando / usr / bin / codesign falló con el código de salida 1", cuando estaba configurando nuevos cuadros de Jenkins para compilaciones de iOS con Xcode 7.3, OSX 10.11.4.

En mi caso, tenía varias cosas correctas: 1. Sí, había agregado mis certificados al llavero, tanto la raíz de Apple como el certificado del equipo. 2. Sí, descargué el perfil de aprovisionamiento correcto a través de las preferencias de xcode. 3.Si incluso se construyó manualmente en xcode.

Sin embargo, para jenkins, tal vez hubo un problema de almacenamiento en caché en xcode. Lo que funcionó fue: 1. Salir de la GUI de Xcode. 2. Regrese y ejecute la compilación manualmente una vez. 3. Solo entonces Xcode le pedirá que permita la autorización de acceso a llaveros. 4.Jenkins tiene algunas configuraciones que pueden solucionarlo, pero mis máquinas son seguras, por lo que hago clic en 'permitir siempre que xcode acceda al llavero'.

AnneTheAgile
fuente
0

Con fastlane instalado, puede crear e instalar un Certificado de desarrollo mediante

cert --development
sigh --development
Powtac
fuente