No se encontró un perfil de aprovisionamiento válido para este ejecutable para el modo de depuración

239

Recibo este error mientras intento depurar mi aplicación en el dispositivo.

Creé el perfil de aprovisionamiento de desarrollo como se menciona en el portal del desarrollador. Mi dispositivo de desarrollo está seleccionado en el perfil y estoy seleccionando el perfil correcto del menú de identidad de firma de código de Target. Volví a crear el perfil de aprovisionamiento varias veces y también lo eliminé y lo reinstalé y recreé el proyecto, pero lo obtengo cada vez que intento depurar en el dispositivo.

Por cierto, el perfil de provisión de distribución adhoc funciona.

Pasé todo el día buscando una solución pero nada. ¿Alguien tiene una solución?

xenep
fuente
2
Apple proporciona instrucciones detalladas dentro del portal de aprovisionamiento: Certificados , Perfil de aprovisionamiento
Casebash
Curiosamente, veo este error solo en la consola Xcode Organizer pero la aplicación aún se instala y ejecuta sin problemas. Estoy construyendo con un perfil ad hoc y un perfil de distribución de la tienda de aplicaciones. ¿Podría quejarse del perfil ad hoc pero ejecutarse con el perfil de distribución de la tienda de aplicaciones?
lugar
¡Seguí este tutorial y eso funcionó para mí! Espero eso ayude. youtube.com/watch?v=dUdHifLTyrE
matiaslezin
Tuve el mismo problema. El dispositivo no se agregó al perfil de aprovisionamiento, esa fue la razón.
Kelin
1
Si recibe este mensaje después de una semana de tener la aplicación funcionando y está utilizando una cuenta de desarrollador gratuita, debe volver a instalarla
Ryan Haining

Respuestas:

186

Podría ser porque su iPhone no es reconocido por el portal de aprovisionamiento.

Solución:

1) En Xcode, Ir a -> Construir -> limpiar todos los objetivos.

2) En "Grupos y archivos" -> Destino -> expandirlo -> haga clic derecho en su aplicación y seleccione Limpiar "su aplicación"

3) Ir a -> Ventana -> Organizador

4) En la pestaña Dispositivos a la izquierda, selecciona tu iphone

5) En la sección Aprovisionamiento del iphone seleccionado, elimine todos los perfiles actuales (si los hay)

6) Desenchufe su iPhone y vuelva a enchufarlo.

7) Ir a -> Ventana -> Organizador -> haga clic derecho en su iPhone -> Agregar dispositivo al portal de aprovisionamiento

8) Ahora asegúrese de haber seleccionado la identidad de firma de código apropiada en la configuración de edición del proyecto -> compilación -> firma de código

Construye y corre. ¡Buena suerte!

samdeV
fuente
77
no necesariamente. Hice todos los pasos que mencionó, y mi dispositivo está / ya estaba en la lista en el portal de aprovisionamiento, y todavía recibo este error.
Nate
35
Esto ahora está desactualizado. En Xcode 4.3+ vaya a Organizador> seleccione el dispositivo> haga clic en "Agregar al portal" en la parte inferior de la pantalla y ¡ya está! Si su contraseña se equivoca la primera vez que Xcode Organizer pregunta, seguirá instalando el dispositivo pero sin un certificado válido. Actualizar los perfiles de aprovisionamiento en 'Biblioteca' no tiene ningún efecto en el certificado asociado del dispositivo. Voila!
pchap10k
1
No pensé que esto iba a funcionar, pero lo hizo totalmente. ¡Gracias! Me ahorró muchas horas de dolor de cabeza. :) por cierto, estoy usando xcode 4.5.
Mona
1
Cuando "agregué al portal de aprovisionamiento" recibí un error que necesitaba para aceptar el nuevo acuerdo en el sitio web developer.apple.com, lo hice usando el navegador web primero, luego funcionó muy bien. ¡Gracias!
ja
11
Muy desactualizado. Esto es completamente diferente en xCode 6 ... actualice su respuesta.
stevebot
45

En Xcode 10, resolví esto cambiando el sistema de compilación del proyecto de "nuevo sistema de compilación" a "sistema de compilación heredado" (Archivo -> Configuración del proyecto).

che
fuente
55
La pregunta original es "Pasé todo el día buscando una solución, pero nada. ¿Alguien tiene una solución?" con respecto al error arrojado "No se encontró un perfil de aprovisionamiento válido para este ejecutable para el modo de depuración". Cambiar el sistema de compilación en la nueva versión de Xcode resuelve el problema. Hay muchas soluciones publicadas para diversas situaciones cuando esto ocurre.
che
3
@ user191712 Ignora a los aspirantes a moderadores. Su respuesta me salvó de horas de pasar rabbitholes sin relación con el error. ¡Gracias!
Remondo
Olvidé verificar esta configuración ... 🤦‍♂️ gracias amigo!
cesarak
Muchas gracias. ¡Funcionó para mí sin perder tiempo!
Deniz
1
Por una razón que todavía no entiendo, ese también fue mi problema con un [email protected]proyecto y XCode 10.0.
boabojad
41

Yo tuve el mismo problema. Todo estaba bien: el dispositivo estaba registrado en el Portal de aprovisionamiento de IOS; se descargó el certificado y se descargaron los Perfiles de aprovisionamiento de desarrollo para mi aplicación.

Entonces la solución !!!

Target> Obtener información

Seleccione Configuración para liberar (aquí está el demonio) En la firma de código, la firma de código de identidad verifica el desarrollador de iPhone. Cerca.

En Target, elija Clean Target y luego ejecute la aplicación.

Buena suerte.

Rafael
fuente
67
¿Dónde está este Target-> Obtener información?
Septiadi Agus
1
Vi que puedo configurar la identidad de firma de código para devloper en la configuración de compilación.
Septiadi Agus
2
¿No hay captura de pantalla para "Target-> Obtener información"? No puedo encontrarlo.
GusOst
1
@Rafael ¿Qué es Target-> Obtener información?
skywinder
1
Por favor, explique qué es "Target> Obtener información".
bitops
28

En mi caso, esto se debió a que había un par de versiones del certificado de desarrollador en el llavero.

Eliminar el certificado de desarrollador de iPhone de Mis certificados y Certificados y luego descargar el último del centro de desarrollo e instalarlo (haga doble clic en el archivo .cer)

solucionó mi problema

danmux
fuente
Tuve el mismo problema. Múltiples certificados de desarrollo a mi nombre. Esto lo solucionó.
Héctor Ramos
2
Sí, esto solucionó el nuestro. haga clic en Destino> Configuración de compilación> firma de código> depuración> haga clic en el menú desplegable para IPHONE DVELOPER> y no elija la Selección automática, pruebe cada uno de los otros identificadores de desarrollador adjuntos al otro Equipo * PP's
brian.clear
1
esta debería ser la respuesta correcta ... tiene sentido ya que el dispositivo no se agrega en el perfil de aprovisionamiento real ...
Calleth 'Zion'
si intenta ejecutar con un perfil de firma de código al que no se agrega el dispositivo actual, obtendrá exactamente el mismo error (por ejemplo, esto podría suceder al cambiar de depuración a versión)
kritzikratzi
1
@ChrisConway Sí, pero la respuesta marcada no explica el por qué del problema ... solo está haciendo un proceso completo sin saber por qué;)
Calleth 'Zion'
18

Finalmente pude resolver el problema. Uno de mis colegas revocó el certificado de desarrollador en iOS Provisioning Portal para sus aplicaciones de prueba. para la fijación eliminé el certificado de desarrollador existente en mi llavero, solicité un nuevo certificado con la clave privada existente, revoqué el certificado del portal de aprovisionamiento y presenté el certificado recién solicitado. Luego lo descargué e instalé.

ahora puedo depurar mi aplicación en mi dispositivo :)

xenep
fuente
Una de las causas podría ser su "proyecto => Configuración de compilación => Firma => Equipo de desarrollo" es diferente de su "objetivo => Configuración de compilación => Firma => Equipo de desarrollo", simplemente haga lo mismo
Detener el
16

Esto me sorprendió porque alguien había cambiado la configuración de "Configuración de compilación" de la configuración "Ejecutar" a "Liberar" (en "Producto"> "Editar esquema .."> "Ejecutar * .app").

Esto normalmente se establece en "Depurar" y, por lo tanto, NO estaba usando el certificado de desarrollador y el perfil de aprovisionamiento que esperaba, sino que estaba usando los certificados de distribución.

Además de esto, descubrí que si busca en el Registro de la consola el dispositivo (a través del Organizador), puede haber un código de error que indique mejor su problema. Por ejemplo tuve ...

Mon Sep  5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012

Luego busqué en Google "0xe8008012" y obtuve la siguiente página que indica un error "0xE8008012 - El UUID del dispositivo no coincide con ninguno en el perfil de aprovisionamiento que se está cargando".

Instalación móvil

Oliver Pearmain
fuente
¡Salvaste una vida hoy! Gracias.
Okhan Okbay
15
  • Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing: Asegúrese de que tanto Debug como Any SDK de iOS estén configurados para desarrollo de iPhone

  • Xcode -> Product -> Scheme -> Edit Scheme: Asegúrese de que Build Configuration esté configurado en Debug .

Badr
fuente
Esto no es para su distribución.
Curnelious
Para aclarar, agregaría que debe establecer la configuración de Build en Debug para Run(y generalmente para Testy Analyzetambién). Archivegeneralmente debería ser Release , de lo contrario su distribución se verá afectada.
Aron
13

En mi caso, este problema se produjo porque se seleccionó otro perfil de aprovisionamiento para las pruebas unitarias. Solo me tomó horas encontrar esto ...

leMale
fuente
@IeMale ¡Me salvaste el día!
stavros.zavrakas
13

Tuve el mismo problema con Xcode 10.0 beta 5 (10L221o) y un dispositivo con iOS 12.0 (16A5345f), que también es beta.

Después de instalar la alerta de la aplicación titulada "La instalación de la aplicación falló" apareció, "No se encontró un perfil de aprovisionamiento válido para este ejecutable".

Lo eliminé yendo a: ~/Library/MobileDevice/Provisioning Profilesy encontrando el certificado que Xcode estaba tratando de usar. Luego, en la ventana "Dispositivos y simuladores" en Xcode, hice clic derecho en mi dispositivo, elegí "Mostrar perfiles de aprovisionamiento" y con un botón más agregué el perfil de aprovisionamiento al dispositivo allí.

No recuerdo cuándo lo hice la última vez, han pasado años. Supongo que Xcode normalmente lo hace por nosotros, pero por alguna razón, falla cuando vemos ese mensaje.

karolszafranski
fuente
Tuve el mismo problema y este trabajo para mí. Gracias.
Pat
10

Con Xcode 6 y un nuevo dispositivo:

  1. Presione cmd + shift + 2 para abrir dispositivos. agregar dispositivo en xcode
  2. Presione el botón "registrar dispositivo". Si no existe dicho botón (como en la captura de pantalla), vaya a developer.apple.com y agréguelo manualmente. Copie el identificador en el campo. agregar dispositivo en el portal
  3. Vaya a Xcode -> Preferencias -> Cuentas -> Haga doble clic en su cuenta -> Presione el pequeño botón de actualización en la parte inferior izquierda para actualizar los perfiles actualizar perfiles
  4. Vaya a Firma de código y configure los nuevos perfiles. establecer perfiles
zeiteisen
fuente
No olvide establecer el Provisioning Profileperfil automático o el perfil específico si sabe cuál es, de lo contrario xCodese encargará de seleccionar el perfil correcto.
Alex Cio
En mi caso, necesitaba confirmar que aceptaba los mismos dispositivos para un nuevo año de licencia de desarrollador, luego eliminar los perfiles de aprovisionamiento y descargarlos nuevamente.
Dmitry
7

Podemos intentar esto: esto ha resuelto mi problema. Debe restablecer el perfil para el que se ha agregado la identificación de su dispositivo en su área de miembro de Apple.com. .ingrese la descripción de la imagen aquí

Vinod Joshi
fuente
6

Suponiendo que tiene su certificado de desarrollo y distribución instalado correctamente:

En Proyecto, su identidad de firma de código principal debe ser el perfil de desarrollador de esa aplicación.

En Objetivos, su identidad de firma de código principal debe ser el perfil de distribución de esa aplicación, excepto que debe cambiar Debug> Any iOS SDK a su perfil de Desarrollo ... y asegúrese de Release> Any iOS SDK es su perfil de Distribución. Esto debería compilarse y ejecutarse en su teléfono provisto y debería archivarse sin ninguna advertencia de código.

Lo único que funcionó para mí cuando mi teléfono se bloqueó y tuve que restaurarlo desde una imagen anterior de iTunes.

M Jesse
fuente
6

Esta solución me funcionó

  1. Vaya a Xcode -> Preferencias -> Cuenta.
  2. En la sección de perfiles de aprovisionamiento, haga clic derecho y ábralo con Finder.
  3. Elimine todos los perfiles de aprovisionamiento de la carpeta del perfil de aprovisionamiento.
  4. Finalmente, regrese a Xcode y haga clic en el botón Actualizar.

¡Espero que eso ayude!

SE
fuente
información adicional, solo es el proyecto actual afectado, solo necesita eliminar el archivo de aprovisionamiento relacionado, se supone que debe tener el mismo nombre con el nombre de su proyecto.
Bhimbim
4

Yo tuve el mismo problema. lo que hice fue: 1. limpiar el objetivo 2. salir de xcode 3. reiniciar xcode 4. reconstruir.
Y funcionó.

Emmy
fuente
Igual que aquí. Un reinicio fue todo lo que necesitaba.
Roshambo
3

Otra causa (verificada):

  1. Apple tiene un error importante en Xcode desde la versión 3.x, donde sobrescribe mágicamente el llavero OS X con un llavero falso desde dentro de Xcode, reinstalando certs (¡y claves privadas!) Que ya borró

  2. ... por lo tanto, si tiene instalado un "nuevo certificado" y nada más, Xcode a veces entrará en un bucle infinito donde TAMBIÉN seguirá instalando el "antiguo certificado" (¡eso no existe en ningún otro lugar excepto dentro de XCode!).

  3. ... y debido a OTRO error en Xcode (sin reparar por más de 3 años ...), Xcode a veces selecciona automáticamente el "certificado más antiguo que puedo encontrar" (que, por definición, es incorrecto, creo que alguien en Apple se mezcló entre "más antiguo" y "más nuevo" :()

  4. ... e incluso aunque haya seleccionado el perfil de aprovisionamiento correcto, Xcode envía el perfil de aprovisionamiento "antiguo" al dispositivo, luego firma con el perfil "nuevo", causando este error

Solución: debe quitar el FUBAR de Xcode de su Llavero.

Esto es más difícil de lo que parece (hay varias publicaciones SO sobre este tema): implica reinicios múltiples de su máquina, eliminando la clave cada vez.

Finalmente, Xcode renuncia a corromper su sistema operativo y acepta la realidad con la que lo presenta :).

Adán
fuente
OK, después de incontables horas de lectura de foros, ayuda de Apple y retoques, tengo que estar de acuerdo: XCode es el culpable
AlexVPerl
3

En mi caso, un archivo de aprovisionamiento válido se debe a que no agregué el dispositivo al mismo archivo de aprovisionamiento.

BabyPanda
fuente
3

Cambiar el perfil de aprovisionamiento a automático y luego ejecutar Xcode solicitó "solucionar" el problema. Luego volví a mi perfil de aprovisionamiento original y todo funcionó bien.

Byte épico
fuente
3

Tuve el mismo problema Mi solución fue muy fácil. Verifiqué si tengo el UDID de mi dispositivo en developer.apple.com y estaba ausente. Después de agregarlo, comienza a funcionar. Es muy molesto que los desarrolladores de Apple den el error "No se encontró un perfil de aprovisionamiento válido para este ejecutable" en lugar de "No se encontró el UDID". En realidad lo mencioné primero en XCode 6 ...

Dmitriy Kalachniuk
fuente
2

En mi caso, fue el problema cuando configuré mi tiempo manualmente dos meses antes en mi iPhone. Pero cuando cambié para establecer el tiempo automáticamente, funcionó bien.

Setting-> General-> Date & Time->set time automatically

Si no funciona, configure el tiempo automáticamente tanto para Mac como para iPhone, funcionará bien.

Xcodian Solangi
fuente
1

Eliminar certificado, perfiles y volver a crearlo. Instalarlo. Esa es la mejor soultion.

Vaibhav Tekam
fuente
1

En mi experiencia, este problema ocurre si intenta construir en un dispositivo que no está registrado en su centro de desarrolladores o que no está habilitado dentro del perfil de aprovisionamiento que está utilizando.

1) Agregue el dispositivo al centro de desarrolladores. En XCode 5 todavía encontrará un botón "agregar al centro de miembros" dentro de la ventana del Organizador. En XCode 6, sugiero copiar la ID del dispositivo y agregarla manualmente a la sección del dispositivo de su centro de miembros.

2) Edite el perfil de aprovisionamiento que está utilizando para incluir el dispositivo que acaba de agregar. Guarde y sincronice los perfiles de aprovisionamiento desde XCode.

Limpio, y está encendido.

Dodgson86
fuente
1

Una de las causas podría ser que su "proyecto => Configuración de compilación => Firma => Equipo de desarrollo" es diferente de su "objetivo => Configuración de compilación => Firma => Equipo de desarrollo", simplemente haga lo mismo

Detener
fuente
0

Tenía un certificado que expiró (lo que generó el error).
Paso 1. Vaya a developer.apple.com, inicie sesión y vaya al portal de aprovisionamiento de IOS

Paso 2. Vaya a certificados (que ahora está vacío) y siga las instrucciones enumeradas para crear un nuevo certificado (abra el llavero en su computadora, cree una solicitud de firma, guárdela en el disco, cárguela en Apple)

Paso 3. Descargue e instale los archivos creados por apple en su llavero

Paso 4. Problema: todos sus perfiles de aprovisionamiento anteriores se asociaron con su certificado OLD, por lo que debe volver a developer.apple.com-> portal de aprovisionamiento IOS-> perfiles de aprovisionamiento y 'modificar' cada perfil que le interese. Verá que su identidad ya no está asociada con el perfil, así que simplemente haga clic en la casilla de verificación

Paso 5. Descarga todos los perfiles que cambiaste

Paso 6. Conecte su teléfono y arrastre y suelte el archivo .mobileprovision en el icono xcode en la barra de acoplamiento para instalarlos en el dispositivo

usuario353877
fuente
0

Vi este problema porque había obtenido una nueva Mac y todavía estaba usando el certificado de mi computadora anterior. Había creado un nuevo certificado para la nueva Mac, pero tenía ambos certificados en mi llavero.

En el Organizador, el perfil advirtió que "XCode no pudo encontrar un par de clave privada / certificado válido para este perfil en su llavero" a pesar de que el certificado anterior existía en mi Llavero.

La solución fue eliminar el certificado anterior de mi Llavero y eliminar / revocar todos los perfiles que usaban este certificado anterior. Luego cree un nuevo perfil con el nuevo certificado y utilícelo.

¡Espero que esto ayude!

paiego
fuente
0

Al subir una aplicación de Xcode 3 a 4.3, encontré que el nombre del paquete y el identificador del paquete tenían que configurarse para que coincidieran con el AppId. Si todo lo demás falla, dale un giro.

abeja
fuente
0

Me enfrenté al mismo problema, puede haber otras razones también:

While testing i set my date to some future date and profile got expired. As result this issue was generated.

But i solved by setting date of iphone to current date as a result profile was not expired. 
Paresh Navadiya
fuente
0

Estoy compilando mi aplicación en Adobe Air para iOS, no en Xcode. Estaba tratando de copiar el .ipa usando iTunes, y recibí un misterioso mensaje de "Error al instalar la aplicación". No fue hasta que utilicé la Utilidad de configuración de iPhone (iCU) que recibí el mensaje de error real.

El problema era que estaba compilando la aplicación con un perfil de aprovisionamiento para distribución ad hoc y un certificado para el desarrollo . No entendí que hay 2 tipos de certificados y 2 tipos de perfiles de aprovisionamiento. Hay uno para el desarrollo y otro para la distribución. Si no coinciden ... entonces obtienes ese mensaje de error. Es obvio una vez que lo entiendes ...

La solución fue descargar el certificado de distribución (.cer), hacer doble clic para abrirlo en Keychain y exportarlo directamente como P12 desde KC. Luego use ese certificado de distribución P12 en la configuración de publicación (Flash IDE o Flash Builder), y también use el perfil de aprovisionamiento utilizado para la distribución ad hoc (.mobileprovision). Luego, finalmente instale el perfil de aprovisionamiento y el archivo .ipa usando la Utilidad de configuración de iPhone.

Eso lo hizo por mí.

Muelle
fuente
0

En mi caso, mi perfil de aprovisionamiento no era válido porque Apple ha cambiado algunos de sus términos y condiciones. Para solucionar el problema tuve que

  1. Eliminar perfil anterior.
  2. Tuve que aceptar los términos y condiciones de este sitio web de Apple.
Siddhartha Saif
fuente
0

Haga clic en Su aplicación desde Xcode en Objetivos. (En proyecto). Aquí puede ver información de resumen, configuración de compilación, fases de compilación, reglas de compilación.

De acuerdo, ve a Configuración de compilación. Vaya a Firma de código.

Verá que tiene dos campos Depuración y Liberación. Tiene dos perfiles para elegir en cada uno de esos campos, Distribución y desarrollo.

Deje que la distribución sea la del campo Liberar. Deje que el desarrollo sea el del campo Depurar.

Hacer esto resolvió este problema y dejó que ese mensaje de error desapareciera. Ahora puedo ejecutar mi aplicación bien.

coolcool1994
fuente
0

También tuve este problema con Xcode 5.0.1. Un buen día, la aplicación simplemente no quería instalarse en el dispositivo en el que se instaló hace cinco minutos sin ningún problema.

Traté de limpiar la configuración, eliminar datos derivados, recrear perfiles de aprovisionamiento, firmar con otros certificados / perfiles, eliminar el dispositivo del organizador, etc.

Finalmente, restablecí el contenido y la configuración de mi dispositivo y construí con éxito mi proyecto con perfiles, certificados e ID de paquete antiguos.

Alexander Sosnovshchenko
fuente