103 votes

Impossible d'ouvrir le projet... ne peut pas être ouvert car le fichier du projet ne peut pas être analysé.

Je travaille depuis un certain temps à la création d'une application iPhone. Aujourd'hui, alors que ma batterie était faible, je travaillais et sauvegardais constamment mes fichiers sources, puis l'électricité s'est coupée...

Maintenant, lorsque j'ai rebranché mon ordinateur et qu'il reçoit une bonne alimentation, j'essaie d'ouvrir mon fichier de projet et j'obtiens une erreur :

Impossible d'ouvrir le projet

Le projet ... ne peut pas être ouvert car le fichier du projet ne peut pas être analysé.

Y a-t-il un moyen connu pour que je puisse récupérer cette situation ? J'ai essayé d'utiliser un ancien fichier de projet et de le réinsérer, puis de compiler. Il me donne une erreur funky qui est probablement parce qu'il ne trouve pas tous les fichiers qu'il veut...

Je ne veux vraiment pas reconstruire mon projet à partir de zéro si possible.


EDITAR

Ok, j'ai fait une comparaison entre ce fichier et un fichier de projet légèrement plus ancien qui fonctionnait et j'ai vu qu'il y avait une certaine corruption dans le fichier. Après les avoir fusionnés (la bonne partie et la partie la plus récente), cela fonctionne maintenant.

Excellentes remarques sur le SVN. J'en ai un, mais il y a eu quelques problèmes en essayant de synchroniser XCode avec lui. Je vais certainement passer plus de temps avec lui maintenant ... ;-)

enter image description here

240voto

Muhammad Yousuf Points 811

J'ai rencontré ce problème et mon supérieur m'a parlé d'une solution, à savoir.. :

Cliquez avec le bouton droit de la souris sur votre projectname.xcodeproj fichier ici projectname sera le nom de votre projet. Maintenant, après un clic droit, sélectionnez Afficher le contenu des paquets . Après cela, ouvrez votre projectname.pbxproj dans un éditeur de texte. Recherchez maintenant la ligne contenant <<<<<<< .mine , ======= y >>>>>>> .r . Par exemple, dans mon cas, cela ressemblait à ceci

<<<<<<< .mine
    9ADAAC6A15DCEF6A0019ACA8 .... in Resources */,
=======
    52FD7F3D15DCEAEF009E9322 ... in Resources */,
>>>>>>> .r269

Maintenant, enlevez ces <<<<<<< .mine , ======= y >>>>>>> .r pour qu'il ressemble à ceci

    9ADAAC6A15DCEF6A0019ACA8 /* BuyPriceBtn.png in Resources */,

    52FD7F3D15DCEAEF009E9322 /* discussionForm.zip in Resources */,

Maintenant, sauvegardez et ouvrez votre projet Xcode et construisez-le. Tout se passera bien.

52voto

SnoopyProtocol Points 893

La réponse de Muhammad a été très utile (et a contribué à ma réparation). Cependant, la simple suppression de >>>>>>> ======= <<<<<<< n'a pas suffi à résoudre le problème d'analyse dans le fichier project.pbxproj (pour moi) lorsque je conserve les modifications des deux branches après une fusion.

J'avais un conflit de fusion dans la section PBXGroup (dont le début est indiqué par un commentaire de bloc comme ceci : /* Begin PBXGroup section */) du fichier project.pbxproj. Cependant, le problème que j'ai rencontré peut également se produire à d'autres endroits dans le fichier project.pbxproj.

Vous trouverez ci-dessous une simplification du conflit de fusion que j'ai rencontré :

    <<<<<<< HEAD
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
    =======
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
    >>>>>>> branch name
            sourceTree = "<group>";
          };

Lorsque j'ai supprimé les marqueurs de conflit de fusion, voici ce qu'il me reste :

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "<group>";
          };

Normalement, la suppression des marqueurs de conflit de fusion devrait résoudre le problème d'analyse dans le fichier project.pbxproj et rétablir l'intégrité de l'espace de travail. Cette fois-ci, ce n'est pas le cas.

Voici ce que j'ai fait pour résoudre le problème :

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "<group>";
          };

          id = {
            isa = PBXGroup;
            children = (
                 id
            );
            name = "Your Group Name";
            sourceTree = "<group>";
          };

En fait, j'ai dû ajouter 2 lignes à la fin du premier PBXGroup.

Vous pouvez voir que si j'avais choisi d'ignorer les changements de Head ou de la branche de fusion, il n'y aurait pas eu de problème d'analyse ! Cependant, dans mon cas, je voulais conserver les deux groupes que j'ai ajoutés à partir de chaque branche et le simple fait de supprimer les marqueurs de fusion n'était pas suffisant ; j'ai dû ajouter des lignes supplémentaires au fichier project.pbxproj afin de maintenir un formatage correct.

Donc, si vous rencontrez des problèmes d'analyse alors que vous pensiez avoir résolu tous vos conflits de fusion, vous devriez peut-être regarder de plus près le fichier .pbxproj et vous assurer qu'il n'y a pas de problèmes de formatage !

28voto

bwags Points 545

J'ai eu exactement la même erreur parce que Cordova vous permet de créer un projet avec des espaces dans celui-ci, et Xcode ne sait pas comment faire.

26voto

Jayprakash Dubey Points 1194

J'ai eu le même problème.

Screenshot 1

Voici les étapes à suivre pour le résoudre :

  1. Naviguez jusqu'au dossier où se trouve votre projectName.xcodeproj .

    Screenshot 2

  2. Faites un clic droit et sélectionnez Show Package Contents '. Vous serez en mesure de voir la liste des fichiers avec .pbxproj extension.

    Screenshot 3

  3. Sélectionnez project.pbxproj . Cliquez à droite et ouvrez ce fichier en utilisant ' Text Edit '.

    Screenshot 4

  4. Vous serez en mesure de voir <<<<<< .mine , ============ y >>>>>>>>>> .r123 . Ce sont généralement des conflits qui surviennent lorsque vous prenez la mise à jour du SVN. Supprimez-les et sauvegardez le fichier.

    Screenshot 5

    Screenshot 6

  5. Maintenant, vous serez en mesure de ouvrir le projet sans aucun message d'erreur .

24voto

Oleksiy Ivanov Points 311

L'analyse visuelle du fichier du projet Xcode ne m'a pas aidé à localiser l'erreur après la fusion. Après avoir regardé dans le syslog, j'ai trouvé cette ligne lorsque Xcode a essayé d'analyser le fichier :

2/7/14 12:39:12.792 PM Xcode[9949]: CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 4426. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.

Après avoir corrigé cela, le projet peut être ouvert correctement.

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