Xcode "La clave privada para no está instalada en este mac - distribuyendo"

99

Siempre recibo este mensaje cuando intento enviar mi aplicación a la tienda de aplicaciones.

Aquí hay una imagen del mensaje:

imagen

Sería genial si alguien pudiera ayudarme a resolver ese problema para poder enviar mi aplicación a la tienda.

Fabián Boulegue
fuente

Respuestas:

90

Intente seguir estos pasos:

  1. Revoque su Certificado de distribución de iOS existente del sitio web para desarrolladores de iOS.
  2. Genere un nuevo Certificado de distribución de iOS yendo a Preferencias de XCode-> Cuentas-> Ver detalles y luego haciendo clic en + debajo de la lista de identidades de firma.
  3. Vuelva al sitio web del desarrollador y asegúrese de que todos sus perfiles de aprovisionamiento estén configurados con el nuevo certificado. (Todos deben aparecer como Activos cuando haya terminado).
  4. Regrese a XCode y actualice su lista de perfiles de aprovisionamiento.

Tuve el mismo problema que tú y esto lo resolvió perfectamente.

Ben Visness
fuente
Gracias, su solución me salvó el día (estaba maldiciendo a Apple desde 4 horas).
JJ86
Me estoy encontrando con el mismo problema y los pasos propuestos anteriormente lo solucionan, pero me encuentro con otro ahora mismo al validar la aplicación "el paquete no es válido, las nuevas aplicaciones y las actualizaciones enviadas a la tienda de aplicaciones deben ser públicas". ¿esta?
Maystro
Mucha gente ya ha hecho esa pregunta: stackoverflow.com/…
Ben Visness
@Fabian Boulegue Creo que los votos indican que esta es la mejor respuesta. Si pudieras marcar esto como aceptado, sería genial :)
Ben Visness
Esto debe marcarse como respuesta. Funciona de
maravilla
50

Esto me resolvió sin comenzar desde cero:
1. Abra Keychain Access en la máquina que se usó para generar las claves privadas
2. Seleccione Llaveros-> Inicio de sesión y Categoría-> Certificados en el lado izquierdo
3. Ubique el dos certificados Desarrollador de iPhone: [su nombre de desarrollador] y Distribución de iPhone: [su nombre de desarrollador]
4. Seleccione ambos, haga clic con el botón derecho y elija Exportar 2 elementos ...
5. Ingrese una contraseña de su elección, guárdela en el disco y obtenga el .p12 -archivar a la otra máquina que no firmará
6. Abra el archivo, ingrese la contraseña y debería estar listo para comenzar.

Kentrh
fuente
8
¿Qué pasa si ya no tengo acceso a la máquina que generó las claves privadas?
aaronsnoswell
2
@aaronsnoswell Tiene que generar nuevas claves para la máquina en la que está trabajando actualmente
Nik
Entonces tienes que generar uno nuevo.
HelloWorld
Después de importar la clave privada a mi llavero, todavía no me funcionó. Sin embargo, un simple reinicio lo hizo funcionar ...;)
fredpi
7. Reinicie la máquina. Parece que no vio la nueva clave privada en el llavero a menos que reinicie. Supongo que es porque lo está agregando al llavero de inicio de sesión que debe cargarse al iniciar sesión.
TenaciousJay
15

Tener un problema similar, después de varios días de probar, verificar, intentar reparar, etc., lo que funcionó para mí fue simplemente:

  1. Abra las preferencias de Xcode (panel Cuentas)
  2. Haga clic en "Administrar certificados".
  3. Agregue un nuevo certificado.

Entonces todo empezó a funcionar de nuevo.

ingrese la descripción de la imagen aquí

Señal
fuente
12

También experimenté esto y luché contra el proceso durante 4 horas. finalmente hice lo siguiente

  1. Eliminé todas las claves y certificaciones privadas y públicas en mi acceso a llaveros
  2. Se eliminaron todos los perfiles de aprovisionamiento
  3. Eliminado todos los AppID's - (Probablemente no lo necesitaba; no necesitaba hacer esto porque quería una pizarra limpia)
  4. Eliminé mis certificaciones en el sitio Developer.Apple
  5. Se creó un nuevo perfil de desarrollo de comodines
  6. Creé un nuevo perfil ESPECÍFICO para la aplicación que estaba implementando (por lo que tenía el nombre de la aplicación en lugar de *, en el AppID)
  7. Creé un nuevo certificado de desarrollo del sitio web.
  8. Descargué el certificado intermedio (Autoridad de certificación de relaciones con desarrolladores mundiales) ya que también lo borré de mi llavero
  9. Creé la Solicitud de firma de certificación (CSR), seguí las instrucciones al pie de la letra para agregarla a mi acceso a llavero. y subió el CSR.
  10. Una vez que se agregó la certificación, me aseguré de cambiar el nombre de las claves pública y privada, y agregué comentarios al cuadro de información, para recordar lo que hice.
  11. Creé un nuevo Certificado de Distribución repitiendo los Pasos 7, 9, 10 para la Distribución para poder obtenerlo en la App Store.

Espero que esto ayude a alguien a saber que puedes borrar todo y empezar de nuevo. Cargué todos los certificados en un Macbook Pro de olf que comenzó a fallar la semana pasada. Así que obtuve una nueva Mac Air la semana pasada, pero no pude recordar qué claves, y ciertamente no recordaba que tenía 2 juegos de privados y públicos, uno para el desarrollo y uno para la distribución. (Si tiene más de una distribución, creo que tendría conjuntos adicionales).

Steve

SESPROUL
fuente
Recuerdo haber pasado por esto, con éxito, en XCode 4. ¿Sabe cómo eliminar todos los perfiles de aprovisionamiento (paso 2) en XCode 5?
Danny
1
Antes de que alguien siga los pasos 1 a 4 de "eliminar", sería recomendable intentar exportar el certificado a través de KeychainAccess como se describe en uno de los comentarios a continuación, y luego importarlos en su máquina de destino.
andrewz
4
Que solucion ¿Debería comprar una computadora portátil nueva también?
breakline
5

Me encontré con el mismo problema y después de maldecir a Apple, me di cuenta de que era mi culpa.

1.- Go to developer.apple.com / Certificates / Production
2.- Download your certificate

Esto funcionó para mí, gracias después de probar otras respuestas.

Alex Nolasco
fuente
descargó el certificado y lo agregó al acceso al llavero. Pero no funciona.
famfamfam
4

Vale la pena verificar en Acceso a Llaveros para asegurarse de que no tiene varias llaves con el mismo nombre. Además, muy a menudo, cuando me he encontrado con problemas de firma de código, la solución más rápida ha sido comenzar de nuevo el proceso (crear nuevos pares de claves, certificados y perfiles de aprovisionamiento).

¡La mejor de las suertes!

Pelusa
fuente
4

Vaya a Preferencias -> Cuentas -> Seleccione el ID de Apple que está usando -> haga clic en el botón "Ver detalles ..." -> luego haga clic en el botón más y seleccione el botón "Distribución de iOS". Más detalles aquí .

ThomasW
fuente
3

Parece que ha llegado a generar un certificado de distribución, por lo que debe haber generado un par de claves en algún momento. ¿Desarrolla en varias máquinas? Exporte el perfil de desarrollador de la máquina que lo tiene e impórtelo a esta máquina.

Jim
fuente
Creo que también puede descargarlo de la prov. portal
El Guapo
Bueno, normalmente solo desarrollo desde esa computadora ... bueno, también obtuve mi certificado de desarrollador y distribuidor, ¿tal vez sea algo más? Como información aquí hay una captura de pantalla de mi perfil ... dl.dropbox.com/u/659484/pic%202.png
Fabian Boulegue
6
No, no puede descargar la clave privada desde el portal de aprovisionamiento. Es privado. No se lo das a Apple.
Jim
2
El certificado es un archivo que Apple le proporciona que dice "Sí, esta clave privada está aprobada por Apple". La clave en sí está separada. No tiene la clave en esa computadora, de lo contrario, habría una flecha de divulgación junto a ella. Debe haber tenido esa clave en algún momento para que exista el certificado. Si no usa otras computadoras y no lo tiene instalado en una cuenta diferente en su computadora, entonces debe haberlo eliminado.
Jim
2
Si no tiene la clave privada y no puede restaurarla desde una copia de seguridad, tendrá que generar un nuevo par de claves, generar una CSR para ella, cargar la CSR en Apple, descargar el nuevo certificado que Apple genera en respuesta. , cree un nuevo perfil de aprovisionamiento de distribución y utilice ese perfil para crear su aplicación. Básicamente, sigue las instrucciones de configuración que Apple te da al principio.
Jim
2

Es simple, inicie sesión en la cuenta del usuario (tal vez en una Mac diferente) que se utilizó para crear el certificado de distribución. Abra Keychain Access y exporte su clave privada. Luego instálelo en su llavero.

Atul Manwar
fuente
2

Mi problema fue que Xcode no estaba en la lista de control de acceso para la clave privada. Puede solucionar esto en el acceso al llavero sin generar un nuevo par de claves.

Acceso abierto al llavero. En el lado izquierdo, seleccione iniciar sesión y Mis certificados. Seleccione su certificado de distribución y haga doble clic en su clave privada. Seleccione el control de acceso y agregue Xcode a la lista si no está allí.

Reinicie Xcode y cree un nuevo archivo. Debería encontrar la clave privada ahora.

zprag
fuente
1

De hecho, cerré y volví a abrir xCode y luego todo volvió a la normalidad.

Ser Pounce
fuente
0

Tengo la solución:

Su empresa tiene un Company (Enterprise Distribution) .pem y CompanyEnterpriseDistribution.p12, también debe instalarlos.

Sam
fuente
0

Tengo una cuenta de empresa en Apple. Resolví el problema por:

1) en el sitio web del desarrollador Certificados, identificadores y perfiles
2) en Perfiles de aprovisionamiento -> desarrollo
3) fui a mi aprovisionamiento de desarrollo -> editar
4) luego descargar y hacer doble clic.

TtheTank
fuente
0

Prueba esto..

  • En "Preferencias del sistema", seleccione "Seguridad y privacidad".

  • Haga clic en el icono 'Bloquear' en la esquina inferior izquierda.

  • Cambie "Permitir descargas de aplicaciones de" de "Cualquier lugar" a "Mac App store y desarrolladores identificados".

-Entonces intenta construir.

hmdeep
fuente
0

Para aquellos que intentan actualizar una aplicación después de un tiempo, deben renovar su Perfil de visualización en el Centro de desarrollo de Apple y luego simplemente ir a Certificados en el lado izquierdo de su Centro de desarrollo de Apple, descargar el certificado de distribución y abrirlo. .

Xcode hará el resto y te permitirá ejecutar la aplicación.

¡Salud!

Tecnologías V1
fuente
0

Para mí es que no he instalado mi certificado de producción. (Ya he instalado el certificado de desarrollo que)

Después de descargar el certificado de producción e instalarlo en el llavero, funcionó para mí.

Sahan Maldeniya
fuente
0

Esto me lo resolvió sin comenzar desde cero:

  1. vuelva a generar el archivo "CertificateSigningRequest.certSigningRequest" de otro macbook.
  2. ReGenerar Certificados " * Grid Information Technology Co., Ltd"
  3. Regenerar perfiles de aprovisionamiento
tinkl
fuente
0

Estoy construyendo y distribuyendo ipa de desarrollo para mi aplicación iOS beta. En repetidas ocasiones tuve que agregar nuevos dispositivos a la lista de los permitidos, y esto me ha creado muchos problemas. Esta vez estoy documentando y compartiendo ese problema y la solución ...

Agregué un nuevo udid a mi lista en el centro de desarrolladores, construí un archivo y descubrí que el ipa no se encontraba en el perfil incrustado en el ipa. Entonces, actualicé mis perfiles de aprovisionamiento en XCode (para obtener una lista actualizada) y este error se debió a que faltaba la clave privada (como se muestra al comienzo de este hilo).

Entonces no pude construir otro archivo. Además, esto creó errores de firma de código al intentar compilar el proyecto.

Después de mucho dolor lo arreglé así:

En XCode, vaya a Preferencias ... Ficha Cuenta. Haga clic en el botón Agregar (en el medio a la izquierda) y seleccione "Desarrollo de iOS". Esto creará una nueva identidad de firma.

Ahora debería poder utilizar el nuevo perfil de aprovisionamiento para crear el archivo.

Además, los errores de compilación deben corregirse. De vuelta en el proyecto, pestaña "General", seleccione el "equipo" y vuelva a intentar la compilación. Puede haber algunos cuadros de diálogo de permisos adicionales. Haga clic en "corregir" o "permitir siempre" cuando se le solicite.

Nota: La lista del Centro de miembros y del llavero se convertirá en un desastre, con duplicados para los identificadores de firma, pero al menos todo funciona. Quizá quieras intentar limpiarlo ...

BuvinJ
fuente
0

Creé un nuevo certificado de distribución, luego edité mi perfil de aprovisionamiento existente para apuntar a ese nuevo certificado, luego en Xcode> preferencias> cuenta> ver detalles actualicé mis certificados de firma.

trabajado como un encanto

ajbraus
fuente
0

Tengo otra respuesta (además de mi publicación anterior). Hoy, mi clave privada expiró (como encontré mirando KeyChain Access), y había una nueva en la lista. ¿Cómo? Idk ... ¿Tal vez al usar el botón "arreglar el problema" de XCode se me presentó, o al extraer una actualización para aprovisionar perfiles como describí en mi otra publicación, se creó uno nuevo automáticamente? ...

De todos modos, inicié sesión en el centro de desarrollo, encontré el perfil de aprovisionamiento que quería usar y hice clic en "editar". Entonces pude seleccionar "Certificados". Descubrí que el que buscaba no estaba seleccionado. Lo seleccioné y hice clic en "generar" para recrear el perfil de aprovisionamiento. Entonces pude descargarlo. Arrastré y solté el archivo en el icono de mi base de XCode. ¡Eso lo arregló!

BuvinJ
fuente
-2

esto sucederá porque ha formateado su mac y lo ha reinstalado o está desarrollando desde una nueva mac.

si no puede hacer lo anterior y tiene su antiguo certificado y perfiles exportados desde la antigua Mac

Deberá eliminar los perfiles de provisión de comodines del centro de desarrolladores de Apple, y también de los certificados debe eliminar los antiguos, solo los certificados de desarrollo y producción generales.

luego tendrá que crear nuevos y crear nuevos perfiles de aprovisionamiento para la aplicación que necesita cargar en Apple.

No es necesario que elimines todos los perfiles de aprovisionamiento por ahora, pero seguro que tendrás que crear nuevos para las aplicaciones que no crees para él.

albaiti
fuente