web-dev-qa-db-fra.com

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

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: andError: withCallback:] _ block_invoke + 164 3 DVTFoundation 0x000000010356f156 DVTInvokeWithStrongOwnership + 73 4B
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 si je le télécharge d'abord sur TestFlight (ce que je ne peux pas faire à chaque fois que je veux tester une petite modification).

28
Brittany

Ce problème est uniquement lié à 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'identifiant comme, identifiez 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 d'avoir marqué tous les SDK tiers comme Embed & Sign in

Targets => General => Frameworks, Libraries, and Embedded Content
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 sur 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 serait de 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 voudrez peut-être pas.

0
Michael Montalbano

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 ...".

0
user1791914

J'ai le même problème et le problème était que j'utilisais un compte non payé 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

0
abed

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

0
Stunner