Xcode 4: La Construction A Échoué, Aucun Problème

L'application fonctionne très bien dans le simulateur, construit et exécute.

quand j'attache mon appareil (iPhone 3GS tournant iOS 4.3) et cible l'iPhone, le résultat est "Build failed" avec "No issues".

en regardant la fenêtre des résultats de construction, tout est vert, a un crochet, y compris L'avis de défaut de construction .

étendre les transcriptions ne montrent aucune erreur.

Je ne peux pas exclure possibilité d'une erreur de signature ou d'approvisionnement, mais il m'a donné ces erreurs, je les ai repassées, et maintenant il ne me donne pas d'erreurs ou de problèmes, juste "construire échoué; pas de problèmes "

  • comment la construction peut-elle échouer sans problème?
  • y a-t-il un moyen pour que je puisse regarder la sortie de construction pour voir si je peux trouver la raison pour laquelle elle échoue sans problème?
  • y a-t-il des résultats de construction produits au-delà de la liste des problèmes?
  • je ne vois pas sur la fenêtre de construction où il tente de charger l'application sur mon appareil - est-ce la sortie d'ailleurs?
89
demandé sur Adam Davis 2011-03-19 20:21:42

30 réponses

J'ai été 'Build Failed' avec aucune erreur dans le navigateur de problème(seulement les Avertissements). Rapport de navigateur, cependant, les erreurs affichées correctement.

76
répondu Mercurial 2015-01-21 10:34:26

utilisez-vous" Underscore "et" Space", etc. pour L'identificateur du forfait?

utilisez-vous?m au lieu de .dans une de vos importations? #import "de la Photo.h"

33
répondu user674180 2012-05-27 00:21:18

la première chose que j'essaierais est de tout nettoyer (menu produit / nettoyer) et le construire à nouveau. Vous pourriez avoir déjà essayé.

vous trouverez (et vous pouvez regarder pendant la construction) la sortie de construction complète dans le navigateur de Log. C'est l'icône la plus juste des petites icônes juste au-dessous des boutons exécuter et construire.

les fichiers journaux de construction (et de débogage) se trouvent dans le répertoire /Utilisateurs/vous/Bibliothèque/Développeur/XCode/DerviedData/Votreprojet-abcdefg/Logs/Construire (et ../ Debug respectivement).

je ne pense pas qu'il n'y a aucune sortie pour l'installation de votre application sur l'appareil.

21
répondu Codo 2011-03-19 19:08:50

y a-t-il un espace dans le nom du produit de votre cible?

je sais que dans les versions précédentes de Xcode ce n'était pas un problème, mais il semble qu'ils ont cassé quelque chose dans Xcode 4 de sorte qu'il ne fonctionne plus (je soupçonne que c'est quelque chose à voir avec le chemin DerivedData non-sens). Vous pouvez ajouter un espace au nom de votre application tel qu'il apparaît sur le Launchpad de votre iDevice en mettant la touche CFBundleDisplayName dans le Info.plist à quelque chose d'autre que ${PRODUCT_NAME} .

19
répondu damian 2011-03-28 20:16:01

sur l'une des listes de diffusion locales de Cocoa Heads, j'ai été encouragé à tenter un petit projet d'échantillon par défaut - quelque chose que j'aurais dû faire au début pour m'assurer que mon approvisionnement et ma signature ont fonctionné. Il a construit et fonctionné sur mon appareil sans problème, donc tous les signes pointent vers un problème avec mon code ou le projet.

je vais jeter les choses du projet existant dans le nouveau projet d'échantillon, et si elle échoue d'une manière similaire, je devrais être en mesure de réduire la problème à une plus petite région d'intérêt.


j'ai ajouté la fonctionnalité principale de l'application dans un nouveau projet, et ça marche très bien. La seule chose que j'ai fait différemment cette fois-ci était que je n'ai pas mis en place un binaire universel (iPhone seulement en ce moment) et éteint tout sauf orientation portrait. Pour autant que je puisse dire tout le reste est le même, bien que si je décide de regarder plus loin plus tard, je vais différencier les dossiers de projet et voir ce que pourrait être différent.

donc la solution pour moi était de commencer un nouveau projet un port toute la fonctionnalité de l'ancien projet dans le nouveau projet.

il se pourrait que recréer la cible, comme Paul le suggère dans une autre réponse, le réparerait aussi, mais avec un projet aussi simple redémarrer à partir de zéro a été facile pour moi.

13
répondu Adam Davis 2011-03-21 16:42:55

j'ai eu le même problème, et comme quelqu'un d'autre a suggéré qu'il avait à faire avec l'identifiant de lot. Je l'avais récemment modifié, comme test, et y avais mis un astérisque. J'ai réparé ça, et j'ai dû nettoyer la cible, et ça a marché.

7
répondu Cortis 2011-04-14 17:29:37

ça m'est arrivé après avoir effacé une cible inutilisée. Il semble que Xcode ait mis un espace dans le CFBundleIdentifier (com.entreprise.etc.) J'ai dû modifier les Infos.plist avec un éditeur de texte externe pour le supprimer et ensuite il a fonctionné très bien.

7
répondu AbePralle 2011-04-15 02:33:45

j'étais juste en train de jouer avec l'ajout de plusieurs projets dans un espace de travail et j'ai eu ce problème. J'ai une bibliothèque simple dans l'un des projets et je construisais et j'ai ajouté une cible basée sur la fenêtre iOS pour le tester. J'ai supprimé la première cible que j'ai faite pour la renommer. Après avoir lu ceci j'ai essayé enlever xcuserdata de l'intérieur du .XCODEPROJ paquet et qui a corrigé mon problème. J'espère que cela aide quelqu'un d'autre. Lancer Xcode 4.1 sur OS X 10.7.1.

7
répondu Andrew 2011-08-29 17:28:21

Après avoir si toutes ces réponses, j'ai eu exactement le même problème, mais quelque chose de différent résolu pour moi.

Le Problème:

La construction de

a échoué sans problèmes après le remaniement. (Renommé une classe en utilisant Edit - > Refactor - > Rename).

Le Plus Solution:

Aller refactoriser (renommer) autre chose (-_-"). Après en faisant cela, L'erreur était que Xcode n'avait pas renommé tous les fichiers appropriés, et n'avait pas affiché d'erreurs. Puis, après un autre remaniement, les erreurs du remaniement précédent sont apparues.

7
répondu Mazyod 2012-05-22 15:34:51

j'ai eu ce même problème. J'essayais de le réparer.un Xcode s'est crashé. Je l'ai rouvert et ça a très bien marché. Peut-être que j'ai eu la chance ou quelque chose? Quoi qu'il en soit, je me fiche de ce qui n'allait pas tant que ça marchait maintenant

6
répondu Porter 2011-06-02 18:08:59

si vous avez changé l'identifiant du paquet et nettoyé le projet, mais que cela n'a pas fonctionné, essayez de vider /Users/YOUR_USERNAME/Library/Developer/Xcode/DerivedData directory.

ça me va.

6
répondu Kenial 2012-01-20 15:06:42

pour moi, la construction a échoué sans afficher aucune erreur dans le navigateur de problème. Cependant, dans le navigateur de Log, dans cette session de compilation, je pouvais voir l'erreur. Dans mon cas, l'erreur était une constante non déclarée. J'ai importé le fichier d'en-tête requis et le problème a été résolu. Je ne suis pas sûr, pourquoi cette erreur ne s'est pas manifestée dans la question navigateur.

j'ai essayé de reproduire ce comportement en modifiant délibérément le nom d'une autre variable. Cette fois, l'erreur a été affiché dans le Navigateur de problèmes. Donc, je suis toujours incertain sur la raison pour laquelle l'erreur plus tôt ne serait pas apparu dans le navigateur de question.

Espérons que cette aide.

6
répondu Sreejit 2012-04-25 05:56:59

les solutions ci-dessus ne fonctionnent pas pour moi.

ma solution est de déplacer le projet dans un autre dossier.

les erreurs de compilation apparaissent alors comme d'habitude.

6
répondu Alex 2012-10-18 08:09:22

avez-vous nettoyé votre dossier de construction? Allez dans le menu produit, Maintenez la touche Option enfoncée et sélectionnez "Nettoyer le dossier de construction... "

4
répondu Jon Reid 2011-03-20 16:25:41

je sais quel est le problème: In Info.plist - > Bundle Identifier: vous ne pouvez pas utiliser '_'. Par exemple, com.mycompany.My_app n'est pas valide, mais com.mycompany.My-app OK.

4
répondu Rubycon 2011-04-25 07:50:05

j'ai eu exactement le même problème en essayant de compiler un projet existant dans xcode 4, et j'ai presque traversé la douleur de recréer le projet.

Toutefois, dans une dernière tentative, j'ai remplacé l'info.fichier plist avec un fichier nouvellement créé qui comprenait les étiquettes supplémentaires pour "types de documents"," types d'url"," UTIs de Type exporté "et" UTIs de Type importé "

Cela semblait fonctionner et étonnamment simple correctif pour mon projet.

3
répondu user696455 2011-04-07 10:06:50

cela m'est arrivé avec ma cible UnitTest. A travaillé et s'est ensuite arrêté. J'avais oublié que je venais de supprimer un .h./m sur le système de fichiers et ne l'a pas supprimé du fichier du projet, mais XCode ne l'a pas signalé.

j'ai compris en exécutant le projet sur la ligne de commande, qui m'a dit l'erreur:

/usr/bin/xcodebuild -target "UnitTest"

exécutez ceci dans le dossier que vous avez votre dossier de projet, et remplacez UnitTest par votre cible - ou tout simplement ne passez pas dans une cible pour construire la cible par défaut.

3
répondu bandejapaisa 2011-11-09 12:49:20

j'ai eu ce problème aussi, mais la cause était différente:

j'ai un espace de travail avec un projet. Dans ce projet j'utilise un cadre qui est inclus en ajoutant son projet Xcode à mon projet. J'ai importé le fichier d'en-tête du framework dans mon en-tête de préfixe (.pch). C'était stupide.

la solution était de supprimer le #import du fichier d'en-tête framework de mon fichier d'en-tête de préfixe et de l'ajouter seulement là où nécessaire.

3
répondu CodeStage 2012-01-26 16:25:11

même problème ici lors de la construction pour l'appareil. La construction a échoué, mais mon journal tout est des poinçons verts. Nettoyer/supprimer le dossier de compilation ne le corrige pas. J'ai lu ailleurs que quelqu'un a résolu ce problème en supprimant et en recréant la cible, mais je n'ai pas encore complètement compris comment faire cela dans XCode 4.


ma solution temporaire a été de télécharger et d'installer Xcode 3.2.6 w/iOS 4.3. Je n'avais pas réalisé Qu'Apple avait également publié un version de XCode 3 qui inclut iOS 4.3, vous permettant de reporter la mise à jour vers XCode 4. J'ai rempli un rapport de bogue avec Apple à propos du problème de Build Failed.


udpate d'Apple:

lorsque nous construisons ce projet-bien que sur une version post - Xcode 4.0 - nous voyons ce qui suit dans L'étape ProcessProductPackaging dans le journal de construction:

(null): erreur: CFBundleIdentifier "com.yourcompany.Magic_Carpet " contient illégale caractère '_' non valide identifiant de lot com.yourcompany.Magic_Carpet '

le code de packaging Processproduct a fait l'objet d'une révision assez récente, donc nous soupçonnons qu'il n'émettait pas d'erreurs correctement dans le Xcode 4.0. Jetez un oeil à la transcription de votre propre construction, et si oui, alors cela sera probablement corrigé dans une future version de Xcode (nous ne pouvons pas commenter plus avant jusqu'à ce qu'une correction ait été publiée).

je suis passé d'un underscore à un tiret et ça a réglé le problème.

3
répondu Paul Slocum 2013-03-04 05:51:31

la même chose m'est arrivée avec une cause différente.

j'ai retiré get-task-allow de mes droits.dossier de la pliste, laissant une pliste vide. Paramètres de construction avaient encore des Droits.fichier plist spécifié comme mon fichier de droits. Choisi d'exécuter en utilisant mes paramètres de construction ad-Hoc sur le périphérique iOS avec mon iPhone connecté, et vu le comportement décrit dans ce bug. L'ajout d'obtenir la tâche permettent de retour fixe.

2
répondu Colin 2011-07-09 04:11:54

semble comme il ya beaucoup de causes possibles de ce problème. Le mien s'est avéré être que

mon objectif était d'utiliser un profil d'approvisionnement inexistant.

j'ai mis mon projet à utiliser un nouveau profil, et j'ai supprimé l'ancien. Je ne savais pas que la cible avait son propre profil d'approvisionnement, qui était encore fixé à l'ancien profil (maintenant supprimé).

2
répondu CharlieMezak 2012-01-11 22:16:46

juste pour ajouter une autre réponse après avoir essayé tout ce qui précède sans succès: j'ai dû redémarrer le MacBook, pas seulement fermer XCode, et cela a fonctionné pour moi. Il a fini avec XCode montrant quelques erreurs dans le localisable.les chaînes qu'il n'a pas montré avant.

L'espoir qui aide

2
répondu sonxurxo 2012-06-20 07:44:54

je nettoie tous les espaces dans les schémas de projet dans xcschemes et cela résoudre ce problème. F** * ing Apple : (AppCode ROCKS!

2
répondu Bimawa 2012-10-16 17:03:40

voir: http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html

le jeu de caractères UTI un identificateur de type uniforme est une chaîne Unicode qui contient habituellement des caractères dans le jeu de caractères ASCII. Cependant, seul un sous-ensemble des caractères ASCII est autorisé. Vous pouvez utiliser le Alphabet romain en majuscules et minuscules (A-Z, A-z), les chiffres de 0 par 9, le point (".") et le tiret ("-"). Cette restriction est basé sur les restrictions de nom DNS, énoncées dans la RFC 1035.

les identificateurs de type uniforme peuvent également contenir l'un des codes Unicode suivants: caractères supérieurs à U+007F.

Important: tout caractère illégal apparaissant dans une chaîne UTI-pour exemple, le trait de soulignement ("_"), deux points (":"), ou de l'espace ( " ") qui sera la cause de la chaîne à rejeter comme UTI invalide. À la couche API, non l'erreur est généré pour UTIs invalide.

1
répondu sfjava 2011-08-02 21:33:41

Je n'ai eu aucun problème avec le nom du paquet donc les solutions suggérées n'ont pas fonctionné pour moi. Enfin j'ai mis le signe de ne pas coder pour la construction, puis j'ai fermé le projet, puis j'ai retiré l'approvisionnement dans l'organisateur, puis j'ai téléchargé l'approvisionnement nouveau et l'ai ajouté à l'organisateur, puis je les ai mis pour la construction. Il a travaillé.

1
répondu Engeor 2011-09-15 09:53:39

il ne s'agit pas d'une réponse technique, mais d'une" erreur de l'utilisateur " qui ne s'applique probablement pas à votre situation. Cela m'est arrivé et mes recherches m'ont mené à cette question et Réponse en vain jusqu'à ce que je réalise mon erreur. J'avais un filtre dans le navigateur de la question qui ne correspondait pas à quoi que ce soit qui était signalé comme un problème. Quand j'ai nettoyé le filtre, les problèmes ont été affichés.

remarquez que les symptômes étaient les mêmes que vous demandiez et je n'ai aucune idée quand je mets ce filtre (il doit être hérité des autres vues de navigation) car je n'aurais pas eu besoin de filtrage sur la liste courte.

1
répondu mobibob 2012-03-14 19:36:51

je viens d'avoir un problème similaire. Ne pouvait pas trouver une erreur de n'importe où. Supprimé tous mes profils de configuration et ajouter de nouveaux.

puis j'ai essayé de construire une autre application de test pour mon appareil et j'ai reçu ce message d'erreur:

erreur de signe de Code: le certificat identity 'iPhone Developer: xxxxxx' apparaît plus d'une fois dans le porte-clés. Le codesign outil requiert qu'un seul.

alors je suis entré Porte-clés, j'ai trouvé deux certificats périmés avec le même nom, et je les ai effacés, et ça a fait l'affaire.

assez aléatoire, mais peut-être que si vous essayez de construire une autre application à l'appareil comme je l'ai fait, vous pourriez être assez chanceux d'obtenir un message d'erreur, comme je l'ai fait, pour aider à diagnostiquer le problème.

1
répondu mestevie 2012-03-16 02:14:59

aller à L'organisateur dans xcode. Et dans l'Onglet Projet, supprimez ce projet. Que xcode reconstruise les données dérivées pour corriger à nouveau mon problème.

1
répondu AccBLue 2012-08-24 08:21:40

j'ai fait face à un problème similaire dans XCode4.5 et tout en travaillant sur mon application Xcode s'est soudainement écrasé.

après avoir cherché pendant des heures, j'ai découvert qu'un de mes fichiers dans mon application a été supprimé quand xcode s'est écrasé.

j'ai restauré le fichier de Trash et le problème a été résolu.

1
répondu niks 2013-01-02 14:13:10

je programmais une application Mac OS X sans coder . Quand j'ai activé le bac à sable dans la section "Droit", le codage s'est activé automatiquement et je n'ai pas pu faire de nouvelle version.

1
répondu Thomas Johannesmeyer 2013-03-09 03:48:38