ios - certificates - apple developer identifiers
Xcode 10: no se encontró un perfil de aprovisionamiento válido para este ejecutable (19)
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 de 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, todos de diferentes equipos de firmas.
Hasta ahora he intentado lo siguiente:
-
Proyecto de limpieza
-
Limpieza de datos derivados.
-
Desinstalando Xcode, eliminando las preferencias y archivos relacionados con él.
-
Instalando Xcode en una Mac completamente diferente
-
Pruebas con diferentes dispositivos.
-
Desactivar el dispositivo en el perfil del desarrollador y dejar que Xcode lo habilite de nuevo.
-
Eliminar todos los certificados en el portal de desarrolladores y volver a crearlos
-
Desmarque y vuelva a marcar "Administrar automáticamente la firma"
-
Deshacer el perfil de aprovisionamiento y dejar que Xcode vuelva a crearlo
-
Creación de un perfil de aprovisionamiento manual en el perfil de desarrollador
El proyecto no contiene pruebas, por lo que no puede haber un problema con una configuración de firma incorrecta en ese objetivo. La fecha / hora se establece 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/
Espero que el xcode generado se muestre como lo hacen para todos los demás clientes.
A continuación se muestran las configuraciones de firma que estoy usando actualmente
Todavía no he intentado degradar Xcode a una versión anterior para ver si funciona. Aparte de eso, no tengo idea de qué intentar a continuación.
¿Tal vez cambió su dispositivo de desarrollo? Me sucedió cuando compré un nuevo iPhone y le di el mismo nombre a mi dispositivo anterior. Una construcción limpia sin embargo solucionó el problema.
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 relacionada con esto.
En mi caso, estaba trabajando en una aplicación que se estaba desarrollando en ReactNative, mi problema era que, aunque mi firma era 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 su objetivo de aplicación como su objetivo de prueba estén firmados para instalar la aplicación en un dispositivo.
Especifica esto en la documentación oficial sobre la
creación de dispositivos,
sin embargo, es la única instancia que he visto donde el objetivo de prueba se construye junto con la aplicación para cualquier otra cosa que no sea la prueba.
Para firmar su objetivo de prueba, vaya a la configuración de su proyecto abriendo el navegador de proyecto (⌘1) y seleccione su proyecto en la parte superior.
Dentro del editor principal, seleccione su objetivo principal de la aplicación en Objetivos (debe tener el mismo nombre que su proyecto) y asegúrese de que la firma sea correcta, luego seleccione el objetivo de la prueba (probablemente justo debajo de su objetivo principal de la aplicación, debe ser el mismo nombre que con las Pruebas) adjunto) y asegúrese de que está firmado de la misma manera.
Reconstruye tu aplicación y ahora debería instalarse correctamente.
Gracias a Leo Lei, su respuesta aquí me ahorró muchos dolores de cabeza: https://.com/a/48657358/732844
Además, si alguien sabe por qué reaccionar de forma nativa requiere que su objetivo de prueba se cree junto con el objetivo de su aplicación, ¿podrían hacérmelo saber? La única razón que se me ocurre es simplificar la interfaz para que reaccionar pueda crear una sola aplicación y ejecutar y probar sin necesidad de reconstruir, pero estoy adivinando con esa.
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 construcción de su objetivo.
Asegúrese:
1)
CODE_SIGNING_REQUIRED
en
User-Defined
se establece en
YES
.
2) Las opciones de verificación de
Signing
son correctas.
Si el problema persiste, cambie a la configuración manual en lugar de automáticamente.
Después de que me cansé de la mayor parte de la solución, descubrí cómo funcionaba sin ningún problema para mí, se resolvió visitando
developer.apple.com
luego la
account
Certificates, identifiers & profiles
y hago clic en el enlace
All
en
Devices
y luego agrego un Nuevo dispositivo.
luego necesitas configurar el nombre del dispositivo, y uuid, y después de guardarlo. Vaya a Xcode y limpie la memoria caché, la compilación y todo su trabajo bien.
Nota 1: asegúrate de que tu equipo sea verdad.
Nota 2: Puede obtener uuid conectando el dispositivo a su dispositivo mac, y haga clic en iTunes, y presione en la etiqueta de seguridad, verá UUID.
Que esta respuesta es útil también.
En mi caso, donde nada más me ayudó, hice lo siguiente:
- cambiar el AppID a uno nuevo
- XCode genera automáticamente nuevos perfiles de aprovisionamiento
- ejecuta la aplicación en un dispositivo real -> ahora ha funcionado
- cambiar de nuevo el AppID a la id original
- trabajos
Antes de esto he probado todos los pasos que se mencionaron aquí. Pero solo esto ayudó.
Encontrado el mismo problema, hemos tenido múltiples configuraciones en el proyecto Xcode, digamos
Debug-Staging
,
Debug-Production
.
Luego los unificamos y utilizamos solo una configuración de
Debug
.
Pero el anterior (ya no existe) se atascó en el esquema de la fase de ejecución, así que una vez que intentó ejecutarlo, 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 de proyectos se configuraron de esta manera.
Cambiar el esquema para usar la configuración que todavía está disponible en el proyecto es lo que solucionó este problema para mí.
Estaba abriendo el proyecto xcodej ... Probé con el archivo de área de trabajo y funcionó.
Al menos eso solucionó uno de mis problemas jaja.
Estaba luchando con esto hoy, fue muy frustrante.
Por ahora, solo vaya a
"File"
>
"Project Settings..."
(o en algunos casos,
"Workspace Settings..."
) y luego seleccione
"Legacy Build System"
en el menú desplegable
"Build System"
.
Estaba teniendo problemas con el mismo problema y la solución en mi caso era iniciar sesión en la (s) cuenta (s) de desarrollador. Después de actualizar a Xcode 10, todas las cuentas se desconectaron.
Use el menú "Xcode -> Preferencias ... -> Cuentas" y asegúrese de que todas las cuentas que utiliza estén registradas para que los perfiles de aprovisionamiento sean accesibles.
He intentado todas las soluciones anteriores.
Sin embargo, en mi caso, después de varias 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 de que seleccioné un equipo para aprovisionar en el Proyecto de prueba con la firma administrada automática. Este problema desapareció.
Intenté todas las respuestas anteriores y no tuve suerte. Después de eso reinicio mi iPhone y el problema parece haberse ido. Sé que es tan estúpido pero funcionó. Las respuestas anteriores probablemente resuelvan el problema, pero si no intentan reiniciar su dispositivo iOS.
Para mí, incluso tú, el certificado de distribución y el perfil de aprovisionamiento estaban disponibles para Xcode, al seleccionar la 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 aseguró que estoy en la última versión 10.1.
Para nuestro equipo, nada ayudó. Pasamos un par de días y probamos cada paso que se mencionó anteriormente en las respuestas y los 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ó en ese momento.
Al menos pudimos enviarlo nuevamente a la tienda de aplicaciones después de haber creado un nuevo perfil de aprovisionamiento y certificado. 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: el archivado y el envío funcionan bien, ¡no se ejecutan en dispositivos reales!
Varios desarrolladores, varios dispositivos, macbooks, versiones XCode ....
Al final, tuvimos que cambiar el AppID para poder volver a realizar la prueba en un dispositivo real.
Por lo tanto, ahora ejecutamos dos proyectos diferentes: uno para enviar a TestFlight / AppStore con el AppID real y otro para propósitos de desarrollo con otro AppID.
Aunque esto solo sucede en UNA aplicación particular de nuestra compañía y no en todas las demás, esperamos encontrarnos con problemas similares en el futuro a medida que las cosas empeoren con las herramientas de desarrollo de Apple ...
Parece que Apple corrigió este error en Xcode 10.2 beta 2 Release.
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes
Problemas de firma y distribución resueltos
Cuando crea un archivo de una aplicación macOS y utiliza un certificado de firma de ID de desarrollador, Xcode incluye una marca de tiempo segura en la firma del archivo. Como resultado, ahora puede enviar una aplicación archivada al servicio de notaría de Apple con xcrun altool sin necesidad de volver a firmarla con una marca de tiempo. (44952627)
Cuando crea un archivo de una aplicación macOS, Xcode ya no inyecta el derecho com.apple.security.get-task-allow en la firma de la aplicación. Como resultado, ahora puede enviar una aplicación archivada al servicio de notaría de Apple utilizando xcrun altool sin necesidad de quitar primero este derecho. (44952574)
Se solucionó un problema que provocaba que el flujo de trabajo de la distribución informara información inexacta o faltante sobre el certificado de firma, el perfil de aprovisionamiento y los derechos utilizados al exportar o cargar una aplicación. (45761196)
Se solucionó un problema por el cual los archivos .ipa reducidos no se estaban firmando cuando se exportaban desde el Organizador. (45761101)
La versión beta 2 de Xcode 10.2 se puede descargar aquí: https://developer.apple.com/download/
Solo necesitas cambiar tu equipo. En mi caso eso funcionó.
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 la 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 configurados como Desarrollador de iOS y no Distribución de iOS ; o su perfil de Aprovisionamiento de Desarrollador iOS, si no está configurado en los valores automáticos.
Lo mismo ocurre con el Perfil de Provisioning. Debe ser su perfil en desarrollo, y no su perfil de distribución.
Espero que esto ayude a los futuros desarrolladores en necesidad.
Usar una carpeta de compilación limpia (comando + cambio + K) y reconstruir la aplicación puede solucionar este problema en breve. Sin embargo, el tiempo de compilación aumentará ya que ha limpiado la carpeta de compilación.
o también cambie la configuración del espacio de trabajo por usuario junto con la configuración del espacio de trabajo compartido a un nuevo sistema de compilación como este