web-dev-qa-db-fra.com

Impossible de construire avec Xcode 4 - La destination d'exécution sélectionnée n'est pas valide pour cette action.

Donc, je suis horriblement confus par cette erreur, d’autres discussions sur Stack Overflow mentionnent que je devrais définir le SDK, mais je ne vois aucune option pour le faire. J'essaie de construire: http://wafflesoftware.net/shortcut/

Et je n'ai pas d'options, et je ne peux que choisir Mon Mac 64 bits, et je le veux en 32 bits. Commence vraiment à détester Xcode 4.

Voici la capture d'écran lorsque j'essaie de modifier mon schéma: http://groovyape.com/scheme.png

Pensées?

36
Geesu

Premièrement, j'ai observé que lorsque Xcode 4 décide que mon Mac est en 64 bits et que tous mes autres systèmes ont disparu, un redémarrage de Xcode corrige ce problème.

Si le problème persiste après un redémarrage, accédez à Gérer les schémas ... (sous le menu Produit) et cliquez sur le bouton Créer automatiquement des schémas maintenant. Essayez de supprimer les autres modèles et voyez si vous pouvez exécuter le projet maintenant.

Toutefois, si le problème est que vous devez définir le SDK, la situation est différente:

  1. Cliquez sur l'icône de projet de niveau supérieur dans le panneau de gauche.
  2. Dans le panneau de droite qui apparaît, sélectionnez Construire les paramètres (près du haut).
  3. Sélectionnez l'option "Tous" (au lieu de Combiné)
  4. Assurez-vous que le SDK de base est défini correctement, comme "OS X 10.7".

FWIW J'envisage sérieusement de revenir à Xcode 3.2.5 pour le moment, 4 semble horriblement buggé.

70
Roger

Dans xCode 4.4.1, utilisez Validate Settings pour résoudre le problème!

Je peux maintenant choisir 32bit ou 64bit.

9
Terence SO

Couru dans le même message d'erreur ("La destination d'exécution sélectionnée n'est pas valide pour cette action") lors de la tentative d'utilisation de XCode 4 pour créer/exécuter un projet minuscule Objective-C "Hello, World" que j'ai créé dans XCode 3.x. Corrigé en choisissant "Gérer les modèles ..." dans le menu déroulant situé à droite du bouton Arrêter, supprimer le modèle unique de la liste (cochez la case en regard du modèle, puis cliquez sur "-" en bas à gauche), puis en cliquant sur "Créer automatiquement des schémas maintenant". 

J'avais également besoin de changer le "Kit de développement de base" de 10,5 à 10,6, en cliquant sur l'icône "dossier" (sous le bouton Exécuter), en cliquant sur la racine/en haut de l'arborescence située en dessous, en cliquant sur l'icône bleue sous "PROJET". dans le volet situé à droite, puis enfin, en choisissant "Dernier Mac OS X (Mac OS X 10.6)" à droite de celui-ci.

6
Gerry Beauregard

J'ai eu ce problème aujourd'hui. J'ai trouvé le changement Base SDK de La dernière iOS (4.3) à iOS 4.3 tout corrigé.

4
brianegge

C'est assez étonnant qu'aucune des réponses ici ne résolve le problème pour moi, mais je l'ai compris. Oubliez le redémarrage de Xcode ou l'utilisation de la création automatique de schémas, seule la version 64 bits apparaîtra comme destination valide dans le schéma.

La bonne solution consiste à modifier l'architecture de votre projet. Accédez à Paramètres de construction (dans le nœud racine de votre projet), et changez Architecture en Intel 32 bits, il se situe juste au-dessus du paramètre Base SDK. Destination basculera instantanément vers "Mon Mac 32 bits". HTH quelqu'un.

2
SilverSideDown

Cela se produira si XCode pense que votre mac est un ordinateur 64 bits, alors qu’il s’agit vraiment d’un 32 bits. Si c'est le cas pour vous, cliquez simplement sur l'icône de votre projet dans le volet situé à l'extrême gauche. C'est l'élément de menu qui affiche le nom de votre projet à côté d'une petite icône bleue. Cela devrait afficher un volet central indiquant "PROJET" en haut. Mettez en surbrillance le nom de votre projet et le troisième volet devrait maintenant afficher vos paramètres de construction. Le premier élément est "Architectures" qui vous permettra de spécifier si vous construisez une application 32 bits ou 64 bits.

2
Charles Garrison

Xcode 4.5. J'essayais de compiler pour 10.6. Il semblait être bloqué sur 64 bits simplement parce qu'il ne pouvait pas trouver le SDK. Je n'ai eu aucun message à ce sujet ne trouvant pas le SDK.

J'ai d'abord essayé de mettre dans le chemin correct vers /Developer-3.2.6/SDKs/MacOSX10.6.sdk mais xcode ne voulait pas le trouver ici. Ensuite, j'ai copié ce dossier dans la version 4.5 à côté de l'autre sdk de la plate-forme OSX (nouvel emplacement, je pense, il suffit de regarder dans la liasse).

Et comme par magie mon 32 bits est revenu.

Donc, ma conclusion est que l'option 32/64 bits dépend vraiment de la capacité de xcode à vérifier le kit de développement que vous essayez d'utiliser. Être bloqué à 64 ans tout en essayant de compiler pour 32 donne l'erreur sans vous avertir que son premier problème est que le sdk est introuvable.

1
Thijs Koerselman

J'ai trouvé une bonne pratique pour passer de Xcode 3.2.X à Xcode 4, c'est-à-dire de supprimer toute référence à un SDK plus ancien cas d’iOS, je pense que vous devez tout supprimer <= 4.3) AVANT de passer à Xcode 4.

Je n'ai jamais rencontré de problèmes pour les nouveaux projets, créés dans Xcode 4, uniquement pour ceux créés avec Xcode 3.X ou 2.X

1
Thomas

On dirait que vous essayez d’exécuter (Cmd-R ou bouton Exécuter) le framework (ce que vous ne pouvez pas faire - ce n’est pas un exécutable, mais seulement une bibliothèque) plutôt que de simplement le construire (Cmd-B).

1
Joshua Nozzi

J'avais ce problème et c'était peut-être une coïncidence, mais quand j'ai redémarré XC4 mais cette fois n'a pas choisi de charger mon projet à partir de la fenêtre contextuelle qui apparaît au lancement - au lieu de le choisir explicitement dans le menu Fichier - le problème n'a pas eu lieu et la construction a commencé ok.

Les 3 ou 4 fois où j'ai eu cette erreur, j'avais choisi de charger le projet à partir de la fenêtre contextuelle qui apparaît lors du premier chargement de XC4.

Comme je l'ai dit, je viens peut-être d'avoir de la chance, mais je n'ai certainement apporté aucun autre changement aux projets pour «régler» le problème.

1
Oliver Collyer

Si cela se produit après avoir renommé votre application, accédez à Schemes -> Edit Scheme -> Run <YourApp> -> Info Sélectionnez le bon fichier exécutable (YourApp.app)

Une autre méthode consiste à sélectionner None comme exécutable, puis à sélectionner de nouveau le YourApp.app dans votre dossier Debug-iPhoneOS.

0
ivelin demirov

J'ai résolu ce problème en supprimant mon xcuserdata dans mon fichier de projet. Je ne sais pas comment ça s'est corrompu. Mais cela a fonctionné pour tout le monde dans le bureau, supprimer le xcuserdata a fait l'affaire. Je me suis assuré que Xcode était fermé en le faisant. Juste pour le plaisir, assurez-vous de supprimer votre dossier DerivedData pour l'application et de créer une compilation pour les superstitieux. 

0
migs647