117 votes

"L'appareil iOS de destination de l'exécution n'est pas valide pour l'exécution du schéma"

J'ai exécuté mon application sur un iPhone 5 / iOS 6, mais lorsque j'essaie de l'exécuter sur un iPhone 4S / iOS6, j'obtiens le message suivant : "Le périphérique iOS de destination n'est pas valide pour exécuter le schéma NN. Le schéma ne contient pas d'éléments constructibles qui peuvent être construits pour les architectures prises en charge par le dispositif de désignation d'exécution".

J'ai consulté les messages précédents à ce sujet, mais ils concernent des problèmes avec la cible de déploiement. Dans mon cas, le SDK de base est réglé sur 6.1 et la cible de déploiement sur 5.0.

L'iPhone 4 a reçu la version 6.0.1 d'iOS.

0voto

dev Points 563

Pour moi, Xcode n'a pas réussi à copier les symboles du périphérique connecté en raison d'un espace disque insuffisant. Vérifiez d'abord si vous avez des symboles pour le périphérique connecté sous /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/ .

Comme j'avais iOS 8.3 (12F70) installé sur mon appareil, le chemin à suivre était le suivant /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/Symbols La taille de ce répertoire devrait être d'environ 2,5 Go. Lorsque j'ai eu ce problème, la taille était de 484 Ko.

Pour le réparer, j'ai

  1. Libérez environ 3 Go d'espace disque. Vous pouvez supprimer les dossiers de tous les appareils non pris en charge que vous pourriez avoir sous /Users/$USERNAME/Bibliothèque/Developer/Xcode/iOS\ DeviceSupport/.
  2. Déconnecté le dispositif de Xcode et fermé Xcode.
  3. Suppression du dossier dans le chemin ci-dessus (tout ce qui est sous 8.3(12F70).
  4. Lancez Xcode et connectez l'appareil.
  5. Xcode devrait commencer à copier les symboles ; une fois que c'est fait, la taille du dossier devrait être d'environ 2,5 Go.

0voto

Akira Speirs Points 61

Cela m'est arrivé parce que j'ai changé de branche dans le contrôle de source avec des schémas non partagés.

Mon xcuserdata était git-ignoré, et il contenait un schéma que j'ai oublié de partager. Cela signifie que j'essayais d'utiliser un schéma qui provenait d'une branche de code complètement différente.

J'ai refait le schéma, ce qui a permis de résoudre le problème, et je l'ai marqué comme partagé pour qu'il soit dans la section xcshareddata et vérifié dans le contrôle de la source.

0voto

Itachi Points 401

Dans mon cas, vérifiez la cible -> Build Settings -> Search "Mach-O Type" et vérifiez la valeur, elle devrait être Executable/Dynamic Library/Static Library. Pour d'autres valeurs de type, la cible ne peut PAS être construite et exécutée.

0voto

itsmcgh Points 93

Ceci est similaire au commentaire de Kunal Gupta, mais j'ai eu cette erreur après avoir exécuté un projet Xcode sur un iPad réel (la cible de déploiement a été changée en iPad et je voulais l'exécuter sur mon simulateur iPhone). N'oubliez pas de modifier les informations de déploiement après avoir utilisé un appareil/simulateur réel, en particulier lorsque vous passez de l'iPad à l'iPhone.

0voto

Linger Software Points 11

Swift 3 ou 4 Xcode 8 ou 9 Une chose que vous pouvez faire est de cliquer sur le fichier du projet pour ouvrir les paramètres généraux, les capacités, etc.

  1. Choisissez les paramètres de construction
  2. Recherche du SDK de base
  3. Assurez-vous que debug ET release ont le même type de construction.

J'avais réglé le débogage sur ios 11.0 et la version sur macOS 10.13. Ils doivent être identiques pour pouvoir archiver

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X