Xcode 11.2 - Impossible d'installer le fichier d'application sur l'appareil?

29

J'ai récemment mis à jour mon système d'exploitation vers Catalina et mis à jour Xcode vers 11.2. Depuis, lorsque j'essaie d'exécuter une version finale de mon application sur mon appareil, je reçois simplement l'erreur:

Impossible d'installer l'application.

Lorsque j'appuie sur «détails», il me fournit les informations suivantes:

Échec de l'installation de l'application Domaine: com.apple.dtdevicekit Code: -402620395 Raison de l'échec: un profil d'approvisionnement valide pour cet exécutable est introuvable.

Informations utilisateur: {DVTRadarComponentKey = 487927; "com.apple.dtdevicekit.stacktrace" = (0 DTDeviceKitBase 0x000000011baff6e7 DTDKCreateNSError + 109 1 DTDeviceKitBase
0x000000011baffde9 DTDK_AMDErrorToNSError + 792 2 DTDeviceKitBase
0x000000011bb3f56a 90- [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: etun: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4 DTDeviceKitBase
0x000000011bb3f301 - [DTDKMobileDeviceToken installApplicationBundleAtPath: withOptions: etun: 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); }

Mes profils d'approvisionnement sont corrects à 100%, tout comme mes certificats. Je ne sais pas pourquoi cela se produit, et j'ai tout essayé pour l'installer / l'exécuter. J'ai essayé:

  • Vérifiez à nouveau que «Scheme» a coché la version sous l'onglet «Exécuter»
  • Confirmé que le profil d'approvisionnement approprié est sélectionné
  • Supprimer l'application de mon appareil
  • Création de nouveaux profils d'approvisionnement
  • Modification de mon ID de forfait
  • Création de nouveaux certificats
  • Nettoyage du dossier de construction, redémarrage de Xcode
  • Réinstaller Xcode
  • Suppression du dossier de données dérivées

AUCUN des éléments ci-dessus n'a fonctionné. J'y suis depuis 2 jours maintenant - l'aide est appréciée. La seule façon dont je peux installer le fichier d'application avec succès sur mon appareil est de le télécharger d'abord sur TestFlight (ce que je ne peux pas faire à chaque fois que je veux tester une petite modification).

Bretagne
la source
Avez-vous pu vérifier cela avec un deuxième appareil?
CodeBender
Oui, j'ai essayé d'installer l'application sur 2 appareils différents, même erreur à chaque fois. @CodeBender
Brittany
1
Vous avez mentionné que vous avez récemment mis à jour vers 11.2, est-ce la première fois que vous construisez avec Xcode 11.x? Pour les profils de distribution sur le site des développeurs d'Apple, il existe une nouvelle option spécifique à Xcode 11 et l'utilisez-vous?
CodeBender
1
Toujours sous Fichier> Paramètres de l'espace de travail sous "Build System", qu'avez-vous sélectionné?
caler
1
Ça me rend fou !!! J'ai toujours ce problème et aucune des solutions ici ne l'a résolu. Y a-t-il d'autres idées?
Georg

Réponses:

19

Accédez à Fichier -> Paramètres de l'espace de travail et assurez-vous que votre système de génération est défini sur Système de génération hérité.

J'ai rencontré le même problème sur Catalina et Xcode 11.2 et cela l'a résolu pour moi.

À partir de Xcode 11, Apple commence à appliquer certains des critères de construction qui n'étaient auparavant requis que pour les générations AppStore sur l'extraction .ipa et les générations d'appareils.

Jusqu'à présent, j'ai rencontré:

  • Exiger le paramètre de système de génération hérité ci-dessus pour les déploiements d'appareils pour les projets plus anciens ou les projets qui utilisent des cadres plus anciens
  • Suppression des architectures inutilisées pour extraire un ipa d'une archive
Lean van Heerden
la source
Probablement le même problème - voyant une erreur légèrement différente, mais aucune solution ici ne l'a résolu. L'exécutable a été signé avec des droits invalides. Domaine: com.apple.dtdevicekit Code: -402620394 Raison de l'échec: les droits d'accès spécifiés dans le fichier des droits de signature de code de votre application ne sont pas valides, ne sont pas autorisés ou ne correspondent pas à ceux spécifiés dans votre profil d'approvisionnement. (0xE8008016).
Drewster
2
@drewster J'ai eu la même erreur également, et elle était liée aux architectures inutilisées dans la build. Parfois, les frameworks spécifient des architectures x86 au-delà des architectures de bras. L'exécution du script spécifié dans cet article SO a résolu le problème pour moi.
Lean van Heerden
2
Changer pour Legacy Build System n'a pas fonctionné pour moi malheureusement: /
Brittany
1
J'ai passé des heures là-dessus. J'ai ajouté un projet dans l'espace de travail qui a généré un cadre que j'ai créé comme cible. J'ai ensuite intégré / lié le projet principal dans l'espace de travail à ce projet de cadre. En utilisant le nouveau système de construction de GM 11.2.1, l'exportation DANS LA MAISON afficherait alors "Impossible d'installer ..." sur un appareil supervisé. En lisant cet article, je suis ensuite passé à Legacy Build System. Ce que cela a fait, c'est montrer des ERREURS !!! me dire que lipo ne pouvait pas supprimer la mauvaise architecture lors de l'archivage. Donc, cela allait dans la bonne direction et j'ai ensuite corrigé le cadre qui n'était pas correctement construit. MERCI HÉRITAGE!
zumzum
Dans mon cas, le passage à l'héritage n'a pas résolu cela. Cela était dû à une modification du profil d'approvisionnement. J'ai fini par supprimer l'application de l'appareil, puis l'installation a réussi.
Konstantinos
8

Voici ce qui fonctionne pour moi:

  1. Supprimer l'application et le profil de l'appareil
  2. Réinstallez-les à nouveau.
Govani Dhruv Vijaykumar
la source
Solution classique :)
Arthur Shkil
Face à ce problème plusieurs fois avec Xcode 11.3, c'est la solution la plus rapide et la plus simple.
kientux
5

Utiliser la gestion automatique de la signature

Résolvez ce problème.

signature automatique vérifiée

acoder
la source
5

Pour moi, cela est dû aux Dynamic Frameworks que j'ai ajoutés dans l'application. Au départ, j'ai sélectionné l'option (Embed + Don't Sign) pour les frameworks dynamiques.

Le changer en (Embed & Sign) pour de tels cadres a résolu le problème pour moi.

entrez la description de l'image ici

Vittal Pai
la source
Le cadre externe récemment ajouté avec "Embed Without Sign" a rencontré le même problème. Changé pour intégrer et signer - bravo!
malex
3

Je parviens à résoudre ce problème lors du premier nettoyage:

cmd + k
shift + cmd + k

puis je supprime tout le contenu de Deriving Data, le chemin du dossier doit être comme ceci

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

Ou vous pouvez le vérifier

Xcode -> Preferences -> Locations
m1sh0
la source
0

J'ai eu le même problème jusqu'à ce que je trouve cette solution . J'ai dû effacer tous mes anciens certificats et profils d'approvisionnement, puis créer de nouveaux certificats avec "Apple Development" et "Apple Distribution", au lieu de l'option "iOS ...".

user1791914
la source
0

J'ai le même problème et le problème était que j'utilisais un compte non rémunéré et que le nombre total de profils de développement gratuits était atteint, vous devez donc utiliser un compte payant

detailes:

Raison de l'échec: le nombre maximal d'applications pour les profils de développement gratuits a été atteint

un lit
la source
J'ai eu le même problème. J'ai lu les détails et réalisé après
candyline
0

J'ai eu cette erreur lors de l'exécution d'un projet qui avait une bibliothèque sous Embed Frameworkslaquelle n'était Code Sign on Copypas cochée. Cochez cette case pour résoudre ce problème pour moi.

Stunner
la source
0

"-402620395 Raison de l'échec: un profil d'approvisionnement valide pour cet exécutable est introuvable."

J'avais aussi ce problème et je l'ai résolu:

Cela signifie que votre profil d'approvisionnement n'est pas défini pour le développement. Vous devez créer un nouveau profil d'approvisionnement pour le développement, différent d'un ensemble de profils pour la distribution. Ensuite, dans la signature et les fonctionnalités, dans les paramètres de votre application sur xcode, choisissez votre profil de développement si vous souhaitez installer sur votre appareil. Ne vous inquiétez pas de la distribution avec votre profil de développement, vous devez choisir le profil que vous souhaitez utiliser lors de la poussée vers l'App Store (son défini sur aucun et vous devez le changer).

Une autre solution consisterait à choisir de gérer automatiquement les paramètres de connexion, mais des paramètres par défaut sont définis lors de la transmission vers l'App Store, ce que vous ne souhaitez peut-être pas.

Michael Montalbano
la source
-1

Xcode 11.2 est déconseillé par Apple le 5 novembre 2019

Même si vous pouvez l'installer sur votre appareil, vous ne pouvez pas passer AppStore: Voir ici pour les journaux

Téléchargez le dernier fichier xip valide de la version AppStore .

Aperçu

Xcode 11.2 a rencontré des problèmes et bloque les anciens appareils iOS et ne s'installe pas sur les nouveaux appareils iOS. Donc pour l'instant vous pouvez:

La solution est donc:

  1. Mettre à jour macOS vers 10.15.1
  2. Installer la graine Xcode 11.2.1 GM
  3. Créez et installez l'application sur l'appareil mis à jour (la version 13.2.2 est maintenant disponible)
Mojtaba Hosseini
la source
Téléchargement de la semence GM de Xcode 11.2.1 maintenant ... Je vous ferai savoir si cela résout le problème. Heureux que ce n'est pas seulement moi - j'ai l'impression de prendre des pilules folles en utilisant Xcode 11.2.
Brittany
2
Sur la base du message SO lié, le crash est pertinent pour les appareils pré-iOS 13 qui ont un UITextView. Il n'y a rien là-dedans au sujet des problèmes d'installation "sur les nouveaux appareils iOS"
shim
Ce message contient de nombreux liens depuis qu'Apple produit le chaos. @shim mais maintenant Apple accepte le problème et déconseille complètement Xcode 11.2 et l'a supprimé de l'AppStore.
Mojtaba Hosseini
3
Cette réponse n'est pas pertinente au problème, j'ai testé le déploiement de l'application à l'aide de Xcode 11.2.1 et le problème persiste. La seule façon dont je pouvais déployer l'application sur un appareil avec Xcode 11.2.1 était de définir "Fichier -> Paramètres de l'espace de travail-> Build System" sur "Legacy Build System"
Lean van Heerden
Alors @Brittany quel a été le résultat? Cela a-t-il fonctionné?
Mojtaba Hosseini
-1

Ce problème est uniquement lié à la SIGNATURE DU CODE

Mais, le point clé à noter ici est, si vous utilisez la version XCode 11.x. Non seulement la signature de code dans votre projet, mais nous devons vérifier la signature de code dans les SDK tiers ou les dépendances que nous ajoutons à notre projet.

Étapes pour vérifier la signature de code des SDK tiers:

  1. Téléchargez le code source du framework dont vous avez besoin
  2. Ouvrez le fichier .xcproj à partir du code source à l'aide de XCode 11.x
  3. Accédez à Cibles -> Signature et capacités -> onglet Sélectionner tout -> Identifiant de l'ensemble Si vous voyez des irrégularités dans l'identificateur comme, identificateur avec 4 séparateurs (par exemple: com.company.mac.app)

    Remplacez-le par com. * Et entrez.

  4. Assurez-vous que vos OUTILS DE LIGNE DE COMMANDE XCODE sont définis avec XCode 11.x

  5. Maintenant, utilisez la commande ci-dessous pour reconstruire le SDK, avec les modifications effectuées à l'étape 3 ci-dessus

      carthage build --no-skip-current --cache-builds --platform iOS
  6. Copiez maintenant le framework généré à partir du dossier carthage du code source et remplacez le SDK existant dans votre projet.

Répétez la même chose pour le processus pour tous les SDK tiers dans votre projet.

REMARQUE: Assurez-vous marqué tous les SDKs 3ème partie comme Intégrer & Se connecter à

Targets => General => Frameworks, Libraries, and Embedded Content
Teja Kumar Bethina
la source
-1

Cela pourrait être dû à l'exécution du schéma de distribution / libération. Changer le schéma pour déboguer fonctionne pour moi. J'espère que cela aide quelqu'un.

entrez la description de l'image ici

entrez la description de l'image ici

iGW
la source
-2

La réponse se trouve dans le commentaire suivant: https://stackoverflow.com/a/50719379/10353503

Magy Elias
la source
1
Veuillez publier plus qu'un simple lien au cas où la réponse à laquelle vous faites référence serait supprimée à l'avenir. Par conséquent, veuillez dire quelques mots sur le contenu derrière le lien. Merci
THess