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

93

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 périphérique iOS de destination d'exécution n'est pas valide pour exécuter le schéma NN. Le schéma ne contient aucun élément à construire qui peuvent être construites pour les architectures prises en charge par le dispositif de désignation d’exécution ».

J'ai regardé les publications précédentes à ce sujet, mais elles impliquent des problèmes avec la cible de déploiement. Dans mon cas, le SDK de base est défini sur 6.1 et la cible de déploiement sur 5.0.

L'iPhone 4 a la version iOS 6.0.1.

Gruntcakes
la source

Réponses:

272

C'était un bogue dans XCode, j'ai fermé et rouvert Xcode et cela a commencé à fonctionner.

J'ai remarqué ce genre de chose plusieurs fois maintenant avec Xcode avec d'autres problèmes, c'est très frustrant que l'outil soit si douteux.

Gruntcakes
la source
4
Et la séquence continue. Ce bogue est toujours disponible dans la version 9.4.1.
essayez d'attraper enfin le
1
Dans xcode 10.1 après le redémarrage de xcode, il arrive également, impossible d'exécuter l'application sur iPhone.
R. Mohan
Encore un problème dans 11.1
James Jackson
4
et en 11.2. 😬
Michael Schinis
Ce bogue existe dans Xcode 11.4.1. Quitter Xcode ne résout pas le problème. Cmon Apple
vikzilla
51

Quittez simplement XCode et redémarrez (XCode 9.0.1)

geek1706
la source
24

J'ai eu le même problème. Le problème que j'ai trouvé est que, par erreur, j'avais choisi l'iPad comme cible de déploiement en raison de laquelle XCode a montré que l'iPhone 5 est un appareil non valide. entrez la description de l'image ici. J'espère que ça aide. Ensuite, je viens de changer la cible en iPhone et cela a fonctionné.

Kunal Gupta
la source
de même, j'avais choisi un iPhone 7 Plus pour une application iPad, alors j'ai simplement basculé le sélecteur du simulateur sur iPad et l'avertissement disparaît.
Peter Brockmann
ne peut-on pas avoir une application universelle qui prend également en charge Watch?
Chris Allinson
16

C'est parfois une sorte de problème de mémoire. Fermez une application et réessayez.

Fermez également Xcode et rouvrez. A travaillé pour moi.

À votre santé.

manish kumar
la source
16

L'iPhone de destination d'exécution n'est pas valide pour exécuter le schéma.

  • Quitter Xcode
  • Ouvrez Xcode
  • Projet propre
  • Lancer le projet

Ça va marcher

Mahesh Chaudhari
la source
7
Un mot: redémarrer le Xcode résoudra le problème.
kit du
10

Redémarrez simplement Xcode et votre problème sera recherché automatiquement.

Loufoque
la source
5

Dans mon cas, le problème manquait la valeur exécutable sélectionnée dans Scheme -> Profile -> Executable (e sélectionné dans le débogage de configuration de construction déroulante et exécutable le "application" .app).

entrez la description de l'image ici

Andrea Leganza
la source
Où trouver ça?
Vidya Sagar
1
Produit -> Schéma -> Modifier le schéma ou cliquez sur l'icône du haut qui affiche l'icône de l'application près de l'icône de lecture ...
Andrea Leganza
5

Quit and Reset Xcodepeut résoudre la plupart des problèmes. L'autre cause n'est Devicepas compatible avec l'iPhone, vous pouvez

Target-> sélectionnez le schéma -> General-> Deployment Info-> Device-> sélectionnez Universalou le périphérique actuel souhaité.

entrez la description de l'image ici

yuanjilee
la source
4

Une solution simple.

1) Forcer à quitter X-Code

2) Forcer à quitter iTunes

3) Reconnectez l'iPhone

4) Ouvrez X-Code

Apostolos Chalkias
la source
3

Accédez à la cible de développement de l'ensemble d'informations du projet comme 4.3 ou 5.1.1 et la même chose dans la cible également.

vaibby
la source
3

J'ai eu ce problème dans XCode 9.0.1.

Il semble que XCode n'actualise pas la liste des appareils connectés.

Vous remarquerez peut-être qu'après avoir déconnecté votre appareil, vous pouvez toujours le choisir comme cible. Donc XCode essaie peut-être de se connecter à un faux appareil.

Pour résoudre ce problème:

  1. Modifiez le schéma.
  2. Sélectionnez à nouveau l'exécutable du schéma.
    • cela semble forcer XCode à mettre à jour la liste des appareils connectés.

Si cela ne fonctionne pas, essayez de reconnecter votre appareil (câble) avant de faire cela.


Ou peut-être une autre combinaison de déconnexion de périphérique, de connexion de périphérique et de re-sélection de l'exécutable du schéma.

Par mesure désespérée, vous pouvez également essayer de changer le câble qui relie votre appareil mobile à votre ordinateur.

Mais idéalement ... Xcode devrait être corrigé.

SirEnder
la source
: O ... mon héros !!! Pourquoi alors? Pourquoi Xcode est-il ce buggy, à chaque itération, empire presque toujours ... c'est tellement frustrant qu'ils ont une faible priorité pour leur Dx !!!
Chris Allinson
3

Allez simplement dans Appareils -> L'appareil prévu que vous vouliez exécuter (I Was iPhone6 ​​Simulator) -> Sélectionnez l'appareil (j'ai été sélectionné iPhone6) -> Clic droit-> Assurez-vous que l'option `` Afficher le menu de destination d'exécution '' est activée.

Pour moi, c'était activé. Je l'ai fait, cela a fonctionné.

Mathan
la source
2

J'ai rencontré ce problème dans XCode 9, mais j'ai réalisé plus tard que, pour certaines raisons, j'avais décoché la destination d'exécution dans la fenêtre "Périphériques et simulateurs"

entrez la description de l'image ici

Rikesh Subedi
la source
1

Sélectionnez votre projet, sous Cibles, sélectionnez votre cible principale, puis dans l'onglet Paramètres de construction, il y a un champ qui dit «Architectures valides». Assurez-vous que «armv7» est également présent. Vous n'avez probablement que des armv7 pour le moment.

Pochi
la source
Merci d'avoir répondu, mais armv7 est actuellement déjà là avec armv7s.
Gruntcakes
essayez de supprimer armv7s et voyez si cela vous permet de l'exécuter
Pochi
1

J'utilise XCode 8.2.1 ayant le même problème.

Solution:

-> Aller aux appareils

-> Ajouter des simulateurs supplémentaires

-> Simulateur de clic droit que vous utilisez

-> Afficher dans le menu de destination d' exécution <-Activer cette option

MahajanSagar
la source
0

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

Depuis que j'avais iOS 8.3 (12F70) installé sur mon appareil, le chemin pour moi était /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/SymbolsLa 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, je

  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 / Library / Developer / Xcode / iOS \ DeviceSupport /
  2. Appareil déconnecté de Xcode et Xcode fermé.
  3. Suppression du dossier dans le chemin ci-dessus (tout sous 8.3 (12F70).
  4. Démarrez Xcode et connectez l'appareil.
  5. Xcode devrait commencer à copier les symboles une fois terminé, la taille du dossier devrait être d'environ 2,5 Go
dev
la source
0

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

Mon xcuserdatadossier a été ignoré par git et contenait un schéma que j'ai oublié de partager. Cela signifiait 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 qui a résolu le problème et l'ai marqué comme partagé afin qu'il soit dans le xcshareddatadossier et archivé dans le contrôle de code source.

akiraspeirs
la source
0

Pour mon cas, vérifiez la cible -> Paramètres de construction -> Recherchez "Mach-O Type" et vérifiez la valeur, elle doit être exécutable / Dynamic Library / Static Library. Pour les autres valeurs de type, la cible n'a PAS pu être créée et exécutée.

Itachi
la source
0

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 lors du passage de l'iPad à l'iPhone.

itsmcgh
la source
0

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

  1. Choisissez les paramètres de construction
  2. Rechercher Base SDK
  3. Assurez-vous que le débogage ET la version ont le même type de construction.

J'ai mis le débogage sur ios 11.0 et la version sur macOS 10.13 Ils doivent être les mêmes pour archiver

Logiciel Linger
la source
0

Dans mon cas,

J'ouvre mon iPhone, voici l'alerte apparaissant sur mon iPhone pour Trust and Don't Trust. Je clique sur Trust. Ça fonctionne bien.

entrez la description de l'image ici

Islam Khawar
la source
Ok mais ça n'aide pas dans mon cas.
Ananta Prasad
0

Le passage à un autre port USB et le redémarrage de Xcode ont résolu le problème. J'ai rencontré ce problème sur un iMac exécutant Xcode 9.1 chaque fois que j'essayais de connecter un appareil iOS à un port USB spécifique. Si vos ports USB ont cessé de fonctionner, vérifiez ceci .

  • Ouvrez le menu Pomme> À propos de ce Mac> Plus d'infos> Rapport système> USB et vérifiez que le périphérique apparaît dans l'arborescence des périphériques USB. Si ce n'est pas le cas, essayez un autre câble USB.

entrez la description de l'image ici

raurora
la source
0

Je remarque cela avec certaines combinaisons câble + appareil (probablement un mauvais contact), le redémarrage du XCode n'aidera que pour une ou deux courses, puis il frappera à nouveau. Changer de câble / appareil est la seule solution à long terme qui a fonctionné pour moi.

reTs
la source
0

son bogue xcode , jusqu'à 10.0 beta 3 (10L201y)

Jeason niu
la source
veuillez envisager d'ajouter plus d'informations à votre réponse afin que d'autres personnes puissent comprendre la même chose.
Inder
0

Dans mon cas, ce problème a été résolu en changeant les architectures (Paramètres de construction -> Architectures) en architectures standard - $ (ARCHS_STANDARD)

Assurez-vous d'avoir arm64 armv7 armv7s sur les architectures valides.

Jeux et applications EO
la source
0

Dans mon cas, aucune des réponses données n'a fonctionné pour moi.

J'essayais de configurer TravisCI sur mon projet et voici ce que j'ai fait:

Sélectionnez Target> Edit Scheme> Build

entrez la description de l'image ici

Cochez l'option "exécuter" dans la cible Tests et le problème a disparu, j'espère que cela aidera quelqu'un, j'ai passé 2 jours à essayer de résoudre ce problème.

Carlos Mejía
la source
0

Dans le cas d'iOS 13.x - Ce qui a fonctionné pour moi, c'est de dissocier ma montre de mon téléphone et de la réparer sur mon iPhone. Je ne voudrais pas simplement le dissocier via Bluetooth - j'ai répété tout le cycle comme si j'avais une nouvelle montre. Il a fallu 10 minutes pour tout faire. Lorsque j'ai de nouveau exécuté mon application, cela a fonctionné. À partir de là, assurez-vous que toutes vos cibles ont la même connexion pour l'identité.

Nadine Rose
la source
0

D'autres solutions peuvent fonctionner pour d'autres scénarios mais, en cas d'utilisation de Xcode 11, je suis allé dans "Paramètres de construction" de ma cible de test et je suis passé à universel sous "Déploiement" -> "Famille d'appareils ciblés"

entrez la description de l'image ici

Reimond Hill
la source