Archivo

Problema al firmar app: Este certificado proviene de un emisor no válido

Cuando vas a firmar con un certificado en Xcode y no te deja, te echas las manos a la cabeza ya que en el mundo Apple + firmas siempre es un poco infierno averiguar de donde viene el problema.

Lo normal es ver si te sale algún error del cual puedas identificar el problema, y si aún así no lo sacas, lo siguiente es mirar como loco por todos lados.

Lo mejor es mirar directamente en la aplicación Llavero (Keychain) del ordenador, ya que todo lo relacionado con firmas, certificados y demás, está reflejado en esa aplicación.

El problema es cuando entras en el llavero y ves que en la descripción del certificado que te da problemas para firmar el proyecto de Xcode, aparece lo siguiente: This certificate has an invalid issuer

Esto que significa, que el certificado procede de un emisor no válido. Esto ocurre porque el Apple Worldwide Developer Relations Certification Authority ha expirado.

ThisCertificatehasAnInvalidIssuer

Para solucionar este problema:

1. En la aplicación Llavero, pulsar en Visualización (View) y pulsar en “Mostrar los certificados expirados” (“Show Expired Certificates”).

AppleWorldwideDeveloperRelationsCertificationAuthority

2. Mirar que tengamos seleccionado la categoría “Certificados” (“Certificates”) en la columna de la izquierda.

3. Eliminamos el Apple Worldwide Developer Relations Certification Authority que ha expirado.

AppleWorldwideDeveloperRelationsCertificationAuthority2

4. Descargamos el nuevo certificado del Apple Worldwide Developer Relations Certification Authority de este link https://developer.apple.com/certificationauthority/AppleWWDRCA.cer y pulsamos doble click sobre el certificado para instalarlo.

5. Se instalará directamente en el Llavero y ya podremos firmar y compilar la aplicación.

Problema al generar un Archive desde Xcode que contiene la librería de Vuforia

En un proyecto de Xcode que contiene la librería de Vuforia y que se ha generado a través de Unity3d, cuando se va a generar un Archive, ya sea un AdHoc o para subirlo a la App Store, da un fallo del Codesign, es decir, da un fallo al firmar y no deja generar ningún ipa.

La solución a esto es eliminar el bundle de QCar, que añade automáticamente Unity3d al compilar la app. También se puede eliminar el QCar del proyecto de Unity3d.