Desde ayer recibí el siguiente error al intentar ejecutar una aplicación en mi dispositivo: "No se encontró un perfil de aprovisionamiento válido para este ejecutable". Esto es después de actualizar a Xcode 10. La construcción con Xcode 9 la semana pasada funcionó sin problemas.
He revisado las otras discusiones sobre el error, pero ninguna de las soluciones funciona.
El problema no se limita a un solo proyecto en el que he estado trabajando, ya que afecta a varios de diferentes equipos de firma.
Hasta ahora he intentado lo siguiente:
Proyecto de limpieza
Limpieza de datos derivados
Desinstalar Xcode, eliminando las preferencias y los archivos relacionados con él.
Instalar Xcode en una Mac completamente diferente
Pruebas con diferentes dispositivos.
Deshabilitar el dispositivo en el perfil de desarrollador y dejar que Xcode lo habilite nuevamente.
Eliminar todos los certificados en el portal del desarrollador y volver a crearlos
Desmarcar y volver a marcar "Administrar automáticamente la firma"
Trashing el perfil de aprovisionamiento y dejar que Xcode lo vuelva a crear
Crear un perfil de aprovisionamiento manual en el perfil de desarrollador
El proyecto no contiene pruebas, por lo que no puede haber un problema con la configuración de firma incorrecta en ese objetivo. La fecha / hora está configurada en Automático
Una cosa a tener en cuenta es que aquí no se enumeran los Perfiles de aprovisionamiento, excepto el manual que creé: https://developer.apple.com/account/ios/profile/
Esperaría que el xcode generado uno se muestre como lo hacen para todos los demás clientes.
A continuación se encuentran las configuraciones de firma que estoy usando actualmente
Todavía tengo que intentar degradar Xcode a una versión anterior para ver si eso funciona. Aparte de eso, no tengo idea de qué probar a continuación.
missing provisioning-profile
.Respuestas:
Estaba luchando con esto hoy, fue súper frustrante. Por ahora, simplemente vaya a
"File"
>"Project Settings..."
(o en algunos casos"Workspace Settings..."
) y luego seleccione"Legacy Build System"
del"Build System"
menú desplegable.fuente
@Stephen tks esto se resolvió por mí. Solo necesito ir -> Archivo -> Configuración de Worspace -> Configuración de compilación (cambie aquí a "Sistema de compilación heredado")
fuente
[editar] Nota 2020: Solía firmar manualmente este proyecto. En los proyectos donde firmé automáticamente, nunca tuve este problema. [/editar]
Tuve el mismo problema y pasé horas buscando una respuesta, eliminando perfiles, limpiando proyectos, etc.
¿Has distribuido tu aplicación? Debe volver a su perfil de desarrollador, pero no en General en la configuración del proyecto, sino en Configuración de compilación .
En Firma , mire su Identidad de firma de código .
Asegúrese de que tanto su depuración como su versión estén configuradas para su desarrollador iOS y no para su distribución iOS ; o su perfil de aprovisionamiento de desarrollador de iOS, si no está configurado en los valores automáticos.
Lo mismo ocurre con el perfil de aprovisionamiento. Debe ser su perfil de desarrollo, y no su perfil de distribución.
Espero que esto ayude a los futuros desarrolladores que lo necesiten.
fuente
He intentado todas las soluciones anteriores.
Sin embargo, en mi caso, después de horas de dolor de cabeza fue debido a que el Proyecto de prueba no tiene una cuenta válida para aprovisionar la firma. Después, seleccioné un equipo para aprovisionar en el Proyecto de prueba con firma administrada automática. Este problema se fue.
fuente
Usar una carpeta de compilación limpia (comando + shift + K) y la aplicación de reconstrucción puede solucionar este problema en breve. Sin embargo, el tiempo de compilación aumentará ya que ha limpiado la carpeta de compilación.
fuente
Así que este no será el caso para todos, pero pensé que lo publicaría aquí de todos modos, ya que no parece haber ninguna respuesta al respecto.
En mi caso, estaba trabajando en una aplicación que se estaba desarrollando en ReactNative, mi problema era que, aunque mi firma fue correcta en el objetivo principal de la aplicación, el objetivo de la prueba no tenía ninguna firma aplicada.
Por alguna razón, React Native requiere que tanto el objetivo de la aplicación como el objetivo de la prueba estén firmados para instalar la aplicación en un dispositivo.
Especifica esto en la documentación oficial sobre la compilación del dispositivo, sin embargo, es la única instancia que he visto en la que el objetivo de prueba se construye junto con la aplicación para algo más que pruebas.
Para firmar su objetivo de prueba, vaya a la configuración de su proyecto abriendo el navegador de proyectos (⌘1) y seleccione su proyecto en la parte superior.
Dentro del editor principal, seleccione el objetivo de su aplicación principal en Objetivos (debe tener el mismo nombre que su proyecto) y asegúrese de que la firma sea correcta, luego seleccione el objetivo de prueba (probablemente justo debajo del objetivo de su aplicación principal, debe ser el mismo nombre con Pruebas adjunto) y asegúrese de que esté firmado de la misma manera.
Reconstruya su aplicación y ahora debería instalarse con éxito.
El crédito por esto va para Leo Lei, su respuesta aquí me ahorró mucho dolor de cabeza: https://stackoverflow.com/a/48657358/732844
Por otro lado, si alguien sabe por qué reaccionar nativo requiere que su objetivo de prueba se construya junto con el objetivo de su aplicación, ¿podrían informarme? La única razón por la que puedo pensar es para simplificar la interfaz para que reaccionar pueda construir una sola aplicación y ejecutar y probar sin necesidad de reconstruir, pero solo estoy adivinando con esa.
fuente
En mi caso, estos son los pasos para resolver los problemas:
~/Library/MobileDevice/Provisioning Profiles/
La razón para seguir los pasos anteriores es eliminar los viejos perfiles de aprovisionamiento que estropearon el proceso de construcción.
fuente
Para nuestro equipo, nada ayudó. Pasamos un par de días y probamos todos los pasos mencionados anteriormente en las respuestas y comentarios. Probamos con XCode 10 e incluso XCode 9.2 en una aplicación, que está en la tienda de aplicaciones desde hace muchos años.
El problema comenzó después de actualizar a MacOS Mojave. Desafortunadamente, volver a HighSierra no ayudó entonces.
Al menos pudimos enviar nuevamente a la tienda de aplicaciones después de crear un nuevo certificado y perfil de aprovisionamiento. Pero todavía no podemos probar nuestra aplicación en modo de lanzamiento en un dispositivo real, lo cual es necesario para probar las compras de InApp.
En resumen: ¡archivar y enviar funciona bien, no se ejecuta en un dispositivo real!
Varios desarrolladores, varios dispositivos, macbooks, versiones de XCode ...
Al final, tuvimos que cambiar el AppID para poder volver a probar en un dispositivo real.
Por lo tanto, ejecutamos dos proyectos diferentes ahora: uno para enviar a TestFlight / AppStore con el AppID real y otro para fines de desarrollo con otro AppID.
Aunque esto solo ocurre en UNA aplicación en particular de nuestra compañía y no en todas las demás, esperamos encontrar problemas similares en el futuro a medida que las cosas empeoren con las herramientas de desarrollo de Apple ...
fuente
Tuve este problema en Xcode 10.3 después de cambiar a mi objetivo de prueba de unidad XCTest y luego volver al objetivo de tiempo de ejecución del proyecto.
Resulta que tenía un equipo diferente seleccionado en mi perfil de aprovisionamiento para cada objetivo.
Arreglarlo :
Carpeta de compilación limpia
Asegúrate de que todos los objetivos usen el mismo equipo. Consulte Firma de perfil en la pestaña general.
Si no usa el mismo equipo para todos los objetivos, limpie antes de cambiar a un objetivo de construcción con
equipo diferente seleccionado.
fuente
Asegúrese de que el perfil de aprovisionamiento provenga del mismo equipo tanto en su objetivo como en sus Pruebas de destino.
fuente
En mi caso, la fecha y hora del dispositivo se estableció en una fecha futura. Cambiar la configuración de la fecha a "automático" solucionó el problema.
fuente
Estaba luchando con el mismo problema y la solución en mi caso fue iniciar sesión en las cuentas de desarrollador. Después de actualizar a Xcode 10, se cerraron todas las cuentas.
Use el menú "Xcode -> Preferencias ... -> Cuentas" y asegúrese de que todas las cuentas que use estén conectadas para que los perfiles de aprovisionamiento sean accesibles.
fuente
Había seguido todos los pasos anteriores, pero finalmente no funciona. Fui creado Target duplicado y funciona bien. No tengo idea de qué está mal, tal vez un problema de memoria caché
fuente
¿Tal vez cambiaste tu dispositivo de desarrollo? Me pasó cuando compré un nuevo iPhone y le di el mismo nombre que a mi dispositivo anterior. Sin embargo, una compilación limpia solucionó el problema.
fuente
Lleva mucho tiempo, e hicimos todas las soluciones anteriores y no funcionaron en absoluto, por lo que nuestro equipo decidió eliminar
Pod
archivos ypod install
volver a ejecutarlos . finalmente, nuestra ipa cargada OTA instalada en el dispositivo del usuario. mejor soluciónlimpio
project menu > Product > Clean Build Folder
y/Users/{you user name}/Library/Developer/Xcode/DerivedData
vaya al directorio de su proyecto y elimine
Podfile.lock
,Pods
carpeta,pod_***.framework
corre de
pod install
nuevoHecho
fuente
Tuve el caso de que mi aplicación se implementaría en mi iPhone pero no en mi reloj. La implementación en el reloj daría el "No se encontró un perfil de aprovisionamiento válido para este ejecutable". error. Esto es con XCode Versión 11.2.1 y con la cuenta de desarrollador gratuita.
Esto es lo que hice para implementarlo en mi reloj:
1) Eliminé mi perfil de aprovisionamiento en XCode. Hice esto yendo a Ventana -> Dispositivos y simuladores. Luego haga clic derecho en el nombre del iPhone y elija "Mostrar perfiles de aprovisionamiento". Desde allí podría borrar el archivo
2) En la pantalla Dispositivos y simuladores también eliminé mi aplicación de la sección "Aplicaciones instaladas".
3) Hizo una "carpeta de compilación limpia" (Producto -> Carpeta de compilación limpia)
4) En la "Configuración de compilación" -> "Sección de firma", me aseguré de que cada objetivo (iPhone, Pruebas y reloj) tuviera la misma configuración (equipo de desarrollo, estilo de firma de código, perfil de aprovisionamiento configurado en automático, etc.).
5) Aseguró que el directorio ~ / Library / MobileDevice / Provisioning Profiles estaba vacío.
6) Teléfono desconectado de la computadora
7) Computadora, teléfono y reloj reiniciados
8) Volvió a enchufar el teléfono a la computadora y revisé las instrucciones de "confíe en esta máquina" en el teléfono y mire.
9) corrió aplicación. ¡Funcionó!
fuente
Hoy tuve el mismo error al instalar una aplicación en mi dispositivo. El problema ocurrió después de que actualicé al nuevo xCode 11.4.
Lo que hice para solucionar el problema:
fuente
En mi caso, donde nada más ayudó, hice lo siguiente:
Antes de esto, he probado todos los pasos que se mencionaron aquí. Pero solo esto ayudó.
fuente
Para mí, incluso si el certificado de distribución y el perfil de aprovisionamiento estaban disponibles para Xcode, la selección de Gestión automática de firmas durante el proceso de distribución hizo que fallara. Hice lo siguiente. Como se mencionó anteriormente, creé un nuevo certificado de distribución y un perfil de aprovisionamiento y luego, durante el proceso de distribución, seleccioné manualmente el certificado y el perfil de aprovisionamiento y Voilaaaa. También me aseguré de estar en la última versión 10.1.
fuente
Parece que Apple solucionó este error en la versión Xcode 10.2 beta 2.
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes
La versión Xcode 10.2 beta 2 se puede descargar aquí: https://developer.apple.com/download/
fuente
Solo necesitas cambiar tu equipo. En mi caso eso funcionó
fuente
Después de que cansada la mayor parte de la solución, me encontré con lo que su hacer que funcione sin ningún problema para mí, Su resuelto por ir a
developer.apple.com
continuación,account
a continuación,Certificates, identifiers & profiles
y que haga clic enAll
enlace bajoDevices
y luego añadir un nuevo dispositivo.entonces necesita establecer el nombre del dispositivo, y uuid, y luego guardarlo. Vaya a xcode y limpie el caché, la compilación y todo funciona bien.
Nota 1: asegúrese de que su equipo sea verdad.
Nota 2: puede obtener un uuid conectando el dispositivo a su dispositivo Mac, haga clic en iTunes y presione la etiqueta de seguridad, verá UUID.
Que esta respuesta también es útil.
fuente
Intenté todas las respuestas anteriores y no tuve suerte. Después de eso reinicio mi iPhone y el problema parece haber desaparecido. Sé que es tan estúpido pero funcionó. Las respuestas anteriores probablemente resuelvan el problema, pero si no, intente reiniciar su dispositivo iOS.
fuente
Asegúrese:
1) Tener un perfil de aprovisionamiento registrado para su dispositivo.
2) El dispositivo debe agregarse al perfil de Desarrollo y actualizarse.
Si aún tiene problemas, verifique la configuración de compilación de su objetivo.
Asegúrese:
1)
CODE_SIGNING_REQUIRED
enUser-Defined
se establece enYES
.2) Las
Signing
opciones de verificación son correctas. Si el problema persiste, cambie a Configuración manual en lugar de automáticamente.fuente
Mismo problema encontrado, hemos tenido varias configuraciones de proyecto de Xcode, digamos Vamos
Debug-Staging
,Debug-Production
. Luego los unificamos y usamos solo una configuraciónDebug
. Pero el anterior (ya no existe) estaba atascado en el esquema para la fase de ejecución, por lo que una vez que intentó ejecutar, Xcode le mostró este mensaje. Lo que tiene sentido ya que los perfiles de aprovisionamiento se configuran en configuraciones de compilación basadas en la configuración.Así que el esquema de ejecución se veía así:
Mientras que las configuraciones del proyecto se configuraron así.
Cambiar el esquema para usar la configuración que todavía está disponible en el proyecto es lo que solucionó este problema para mí.
fuente
Tuve el mismo problema (XCode 11) y nada funcionó lo que se escribió aquí.
Mi problema fue que tenía iOS Beta (13.3) en mi teléfono. Después de revertir que todo volvió a funcionar bien.
Idea: Tal vez el dispositivo también almacena información sobre el perfil de aprovisionamiento, por lo que un restablecimiento de fábrica del teléfono también podría solucionarlo.
fuente
Para mí, funcionó para eliminar una Capacidad y luego volver a agregarla.
fuente
Hice lo siguiente:
Esto es muy extraño, pero funcionó para mí, podría funcionar para otros y ahorrar la frustración.
fuente
Finalmente, descubrí lo que está pasando ... casi me toma 2 horas
Mi caso es que la fecha de mi teléfono no es correcta. Olvidé que cambié la fecha de mi teléfono. Supongo que eso hace que todos mis perfiles de aprovisionamiento expiren ...
Entonces, si has probado todas esas respuestas pero nada funciona. Vaya a CONFIGURACIÓN, verifique la fecha de su teléfono.
fuente