Pregunta

Recibo este error cuando intento compilar para el dispositivo:

Error de signo de código: la identidad 'Distribución de iPhone' no coincide con ninguna identidad en ningún perfil

Yo soy:

  • Construyendo para el desarrollo, no para el lanzamiento.
  • Construyendo para 3.1.2
  • Ejecutando SDK 3.1.2

Tengo:

  • Revocado y reemitido un certificado válido
  • Creó un nuevo ID de Ap y un nuevo perfil de aprovisionamiento asociado con un nombre de aplicación explícito (com.mycompany.appname) y emparejó mi identificador de paquete con él (com.mycompany.appname).
  • Seleccioné el perfil de aprovisionamiento específico que creé como mi identidad de firma de código. (Desinstalé todos mis otros CSI por si acaso). Solo para reiterar: " iPhone Distribution " no está seleccionado!

También debería estipular que ni siquiera comenzará a compilar el código (incluso si ha habido una compilación limpia) debido a este problema. Por lo tanto, no se produce este error cuando intenta instalarse en el dispositivo.

También he leído otros subprocesos de StackOverflow sobre este problema, pero parecen estar construyendo para la distribución y no para el desarrollo.

Cualquier ayuda sería muy apreciada ...

¿Fue útil?

Solución 3

Lo intenté todo a lo largo de los días y finalmente lo pensé para hacer un nuevo proyecto y agregarlo de nuevo en todos mis archivos de origen. Parecía una posibilidad muy remota en ese momento, pero parece haber funcionado. No tengo idea de por qué, pero ahora todo funciona sin problemas.

Otros consejos

¿Está seguro de que no ha instalado 3.1.2 y no ha actualizado su SDK (o viceversa)? El número de versión menor es importante, y las discrepancias pueden provocar este error.

Realmente nunca encontré una solución publicada por otra persona, así que comparto lo que hice para solucionar este problema a continuación.

Lo que hice fue mostrar el contenido del paquete de '.xcodeproj' y luego editar manualmente el archivo 'project.pbxproj' allí.

Busque una sección llamada 'XCBuildConfiguration' y debería poder ver todas las configuraciones diferentes. Eliminé manualmente los relacionados con la firma de código como:

CODE_SIGN_ENTITLEMENTS = dist.plist;
CODE_SIGN_IDENTITY = "iPhone Distribution: xxxx yyyy";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: xxxx yyyy";
PROVISIONING_PROFILE = "zzzzzzzzzzzzzzzzzzzzzzzz";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "zzzzzzzzzzzzzzzzzzzzzzzz";

Entonces, lo que quedó fue lo siguiente:

buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                COPY_PHASE_STRIP = NO;
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                GCC_PREFIX_HEADER = xxx_Prefix.pch;
                INFOPLIST_FILE = "Info.plist";
                PRODUCT_NAME = xxx;
            };

También debe eliminar para las otras configuraciones, si hay alguna relacionada con la firma de código

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top