Xcode 11.2 - ¿No se puede instalar el archivo de la aplicación en el dispositivo?


29

Recientemente actualicé mi sistema operativo a Catalina y actualicé Xcode a 11.2. Desde entonces, cuando intento ejecutar una versión de lanzamiento de mi aplicación en mi dispositivo, simplemente recibo el error:

No se puede instalar la aplicación.

Cuando toco 'detalles', me proporciona lo siguiente:

Falló la instalación de la aplicación Dominio: com.apple.dtdevicekit Código: -402620395 Motivo de la falla: No se encontró un perfil de aprovisionamiento válido para este ejecutable.

Información del usuario: {DVTRadarComponentKey = 487927; "com.apple.dtdevicekit.stacktrace" = (0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90- [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4 DTDeviceKitBase
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: andError: withCallback:] + 1589 5 IDEiOSSupportCore 0x000000011b9c7a25 __118- [DVTiOSDevice (DVTiPhoneApplicationInstallation) processAppInstallSet: appUninstallSet: InstallOptions: completionBlock:] _ block_invoke.352 + 4523 6 DVTFoundation 0x00000001036a03ba __DVT_CALLING_CLIENT_BLOCK
+ 7 7 DVTFoundation 0x00000001036a1a92 __DVTDispatchAsync_block_invoke + 809 8
libdispatch.dylib 0x00007fff68220583 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00007fff6822150e _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff68226ace _dispatch_lane_serial_drain + 597 11 libdispatch.dylib 0x00007fff68227452 _dispatch_lane_invoke + 363 12 libdispatch.dylib 0x00007fff68230a9e _dispatch_workloop_worker_thread + 598 13 libsystem_pthread.dylib 0x00007fff6847a71b _pthread_wqthread + 290 14 libsystem_pthread. dylib 0x00007fff6847a57b start_wqthread + 15); }

Mis perfiles de aprovisionamiento son 100% correctos, al igual que mis certificados. No tengo idea de por qué sucede esto, y he intentado absolutamente todo para que se instale / ejecute. He intentado:

  • Comprueba dos veces que 'Esquema' tiene la versión marcada en la pestaña 'Ejecutar'
  • Confirmado que se ha seleccionado el perfil de aprovisionamiento correcto
  • Eliminar la aplicación de mi dispositivo
  • Crear nuevos perfiles de aprovisionamiento
  • Cambiar mi ID de paquete
  • Crear nuevos certificados
  • Limpieza de la carpeta de compilación, reiniciando Xcode
  • Reinstalar Xcode
  • Eliminar la carpeta de datos derivados

NINGUNO de los anteriores ha funcionado. He estado en esto durante 2 días, la ayuda es apreciada. La única forma en que puedo instalar el archivo de la aplicación con éxito en mi dispositivo es si lo subo a TestFlight primero (lo que no puedo hacer cada vez que quiero probar un pequeño cambio).


¿Has podido verificar esto con un segundo dispositivo?
CodeBender el

Sí, he intentado instalar la aplicación en 2 dispositivos diferentes, el mismo error cada vez. @CodeBender
Bretaña

1
Usted mencionó que actualizó a 11.2 recientemente, ¿es esta la primera vez que construye con Xcode 11.x? Para los perfiles de distribución en el sitio de desarrolladores de Apple, hay una nueva opción específica para Xcode 11 y ¿la estás usando?
CodeBender el

1
También en Archivo> Configuración del espacio de trabajo en "Construir sistema", ¿qué ha seleccionado?
cuña

1
Me está volviendo loco! Todavía tengo este problema y ninguna de las soluciones aquí lo resolvió. ¿Hay alguna otra idea?
Georg

Respuestas:


19

Vaya a Archivo -> Configuración del espacio de trabajo y asegúrese de que su sistema de compilación esté configurado en Legacy Build System.

Me encontré con el mismo problema en Catalina y Xcode 11.2 y esto lo resolvió por mí.

A partir de Xcode 11, Apple está comenzando a aplicar algunos de los criterios de compilación que anteriormente solo se requerían para las compilaciones de AppStore en la extracción de .ipa y las compilaciones de dispositivos.

Hasta ahora me he encontrado:

  • Requerir la configuración del sistema de compilación heredada anterior para implementaciones de dispositivos para proyectos más antiguos o proyectos que usan marcos más antiguos
  • Eliminar arquitecturas no utilizadas para extraer una ipa de un archivo

Probablemente el mismo problema: ver un error ligeramente diferente, pero ninguna solución aquí lo resolvió. El ejecutable se firmó con derechos no válidos. Dominio: com.apple.dtdevicekit Código: -402620394 Motivo de la falla: Los derechos especificados en el archivo de Derechos de firma de código de su aplicación no son válidos, no están permitidos o no coinciden con los especificados en su perfil de aprovisionamiento. (0xE8008016).
Drewster

2
@drewster También tuve el mismo error, y estaba relacionado con arquitecturas no utilizadas en la compilación. A veces, los marcos especificarán arquitecturas x86 por encima de las arquitecturas de brazo. Ejecutar el script especificado en este artículo SO resolvió el problema para mí.
Lean van Heerden

2
Desafortunadamente, el cambio al sistema de compilación heredado no funcionó para mí: /
Bretaña

1
Pasé horas en esto. Agregué un proyecto en el espacio de trabajo que generó un marco que creé como objetivo. Luego incruste / vinculé el proyecto principal en el espacio de trabajo a ese proyecto marco. Usando el nuevo sistema de compilación en 11.2.1 GM, exportar IN HOUSE mostrará "No se pudo instalar ..." en un dispositivo supervisado. Leyendo esta publicación, luego cambié a Legacy Build System. Lo que hizo fue mostrar ERRORES !!! diciéndome que lipo no podía quitar la arquitectura incorrecta al archivar. Entonces eso apuntó en la dirección correcta y luego arreglé el marco que no se estaba construyendo correctamente. GRACIAS LEGADO!
zumzum

En mi caso, cambiar al legado no resolvió eso. Se debió a un cambio en el perfil de aprovisionamiento. Terminé eliminar la aplicación del dispositivo y luego la instalación fue exitosa.
Konstantinos

8

Esto es lo que funciona para mí:

  1. Eliminar la aplicación y el perfil del dispositivo
  2. Vuelva a instalarlos de nuevo.

Solución clásica :)
Arthur Shkil

Enfrentando este problema varias veces con Xcode 11.3, esta es la solución más rápida y sencilla.
kientux

5

Usar Administrar firma automáticamente

Resuelve este problema.

Comprobación automática firmada


5

Para mí, se debe a Dynamic Frameworks que he agregado en la aplicación. Inicialmente, he seleccionado la opción (Incrustar + No firmar) para los marcos dinámicos.

Cambiarlo a (Incrustar y firmar) para dichos marcos resolvió el problema por mí.

ingrese la descripción de la imagen aquí


Acabo de agregar un marco externo con "Insertar sin signo", tenía el mismo problema. Lo cambié a Incrustar y firmar, ¡bien hecho!
malex

3

Me las arreglo para solucionar este problema la primera vez que limpio:

cmd + k
shift + cmd + k

y luego elimino todo el contenido de Derivar datos, la ruta de la carpeta debería ser así

/Users/youruser/Library/Developer/Xcode/DerivedData

O puedes revisarlo

Xcode -> Preferences -> Locations

0

Tuve el mismo problema hasta que encontré esta solución . Tuve que borrar todos mis viejos certificados y perfiles de aprovisionamiento y luego crear nuevos certificados con "Apple Development" y "Apple Distribution", en lugar de la opción "iOS ...".


0

Tengo el mismo problema y el problema era que estaba usando una cuenta impaga y se alcanzó el número total de perfiles de desarrollo gratuitos, por lo que debe usar una cuenta paga

detailes:

Motivo de la falla: se ha alcanzado el número máximo de aplicaciones para perfiles de desarrollo gratuitos


Yo tuve el mismo problema. Leí los Detalles y me di cuenta después
candyline

0

Recibí este error cuando ejecuté un proyecto que tenía una biblioteca en la Embed Frameworksque Code Sign on Copyno estaba marcada. Marcar esto resolvió este problema para mí.


0

"-402620395 Motivo de falla: no se encontró un perfil de aprovisionamiento válido para este ejecutable".

También tuve este problema y lo resolví:

Esto significa que su perfil de aprovisionamiento no está configurado para desarrollo. Debe crear un nuevo perfil de aprovisionamiento para el desarrollo, que es diferente de un conjunto de perfiles para distribución. Luego, en la firma y las capacidades, en la configuración de su aplicación en xcode, elija su perfil de desarrollo si desea instalar en su dispositivo. No se preocupe por distribuir con su perfil de desarrollador, debe elegir qué perfil desea usar al presionar para la tienda de aplicaciones (está configurado en ninguno y debe cambiarlo).

Otra solución sería elegir administrar automáticamente la configuración de inicio de sesión, pero eso tiene valores predeterminados establecidos al presionar a la tienda de aplicaciones que quizás no desee.


-1

Xcode 11.2 está en desuso por Apple el 5 de noviembre de 2019

Incluso si puede instalarlo en su dispositivo, no puede pasar AppStore: consulte aquí los registros

Descargue el último archivo válido para la versión AppStore xip.

Avance

Xcode 11.2 tuvo algunos problemas y bloquea dispositivos iOS más antiguos y no se instala en dispositivos iOS más nuevos. Entonces por ahora puedes:

Entonces la solución es:

  1. Actualizar macOS a 10.15.1
  2. Instalar Xcode 11.2.1 GM seed
  3. Compile e instale la aplicación en el dispositivo actualizado (13.2.2 ya está disponible)

Descargando Xcode 11.2.1 GM seed ahora ... Les avisaré si resuelve el problema. Me alegro de que no sea solo yo, empiezo a sentir que estoy tomando pastillas locas usando Xcode 11.2.
Bretaña

2
Según la publicación SO vinculada, el bloqueo es relevante para dispositivos anteriores a iOS 13 que tienen un UITextView. No hay nada allí sobre problemas de instalación "en dispositivos iOS más nuevos"
cuña el

Esa publicación contiene muchos enlaces ya que Apple produce caos. @shim pero ahora Apple acepta el problema y desprecia completamente Xcode 11.2 y lo elimina de la AppStore.
Mojtaba Hosseini

3
Esta respuesta no es relevante para el problema, probé la implementación de la aplicación usando Xcode 11.2.1 y el problema persistió. La única forma en que pude implementar la aplicación en un dispositivo con Xcode 11.2.1 fue establecer "Archivo -> Configuración del espacio de trabajo-> Construir sistema" en "Legacy Build System"
Lean van Heerden

Entonces, @Brittany, ¿cuál fue el resultado? ¿Funcionó?
Mojtaba Hosseini

-1

Este problema solo está relacionado con la FIRMA DEL CÓDIGO

Pero, el punto clave a tener en cuenta aquí es, si está utilizando la versión XCode 11.x. No solo el código de firma en su proyecto, sino que debemos verificar el código de firma en SDK de terceros o dependencias que agreguemos a nuestro proyecto.

Pasos para verificar la firma de código de SDks de terceros:

  1. Descargue el código fuente del marco que necesita
  2. Abra el archivo .xcproj del código fuente usando XCode 11.x
  3. Vaya a Objetivos -> Firma y capacidades -> Seleccionar todas las pestañas -> Identificador de paquete Si ve alguna irregularidad en el identificador, identificador con 4 separadores (por ejemplo: com.company.mac.app)

    Cámbielo a com. * E ingrese.

  4. Asegúrese de que sus XCODE COMMAND LINE TOOLS estén configuradas con XCode 11.x

  5. Ahora, use el comando a continuación para reconstruir el SDK, con los cambios realizados en el paso 3 anterior.

      carthage build --no-skip-current --cache-builds --platform iOS
  6. Ahora copie el marco generado desde la carpeta de cartago del código fuente y reemplace el SDK existente en su proyecto.

Repita el mismo proceso para todos los SDK de terceros en su proyecto.

NOTA: Asegúrese de que todos los SDK marcó 3 ª parte como Insertar y registrarte en

Targets => General => Frameworks, Libraries, and Embedded Content

-1

Esto podría deberse a ejecutar un esquema de distribución / lanzamiento. Cambiar el esquema para depurar funciona para mí. Espero que esto ayude a alguien.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.